briareus
Version:
Briareus assists with Feature Branch deploys to ECS
31 lines (26 loc) • 877 B
JavaScript
const AWS = require('aws-sdk');
const _ = require('lodash');
let action = module.exports = function (pipeline, payload, cb) {
const ecs = new AWS.ECS();
const params = {
desiredCount: 1,
cluster: payload.ecsClusterArn,
serviceName: payload.name,
taskDefinition: payload.assets.placeholderTaskDefinition.arn,
healthCheckGracePeriodSeconds: payload.healthcheck.gracePeriod,
loadBalancers: [{
containerName: payload.webContainerName,
containerPort: payload.webContainerPort,
targetGroupArn: payload.assets.targetGroup.arn
}],
};
ecs.createService(params, (err, data) => {
if (err) return cb(err);
cb(null, [
{ op: 'add', path: '/assets/ecsService', value: { arn: data.service.serviceArn } },
]);
});
}
action.waiting = 'Creating ECS Service';
action.done = 'ECS Service has been created';