briareus
Version:
Briareus assists with Feature Branch deploys to ECS
43 lines (38 loc) • 1.21 kB
JavaScript
const AWS = require('aws-sdk');
const _ = require('lodash');
let action = module.exports = function (pipeline, payload, cb) {
let placeholderTaskDefinition = {
family: payload.name,
containerDefinitions: [
{
name: payload.webContainerName,
image: 'bugcrowd/placeholder:latest',
memory: 256,
memoryReservation: 128,
portMappings: [
{ containerPort: payload.webContainerPort }
],
environment: [
{
name: 'PLACEHOLDER_PORT',
value: `${payload.webContainerPort}`
}
],
logConfiguration: {
logDriver: 'none'
}
}
]
}
var ecs = new AWS.ECS();
ecs.registerTaskDefinition(placeholderTaskDefinition, (err, data) => {
if (err) return cb(err);
cb(null, [
{ op: 'add', path: '/assets/placeholderTaskDefinition', value: { arn: data.taskDefinition.taskDefinitionArn } },
{ op: 'add', path: '/assets/taskDefinitions/-', value: { arn: data.taskDefinition.taskDefinitionArn } }
]);
});
}
action.waiting = 'Creating placeholder task definition';
action.done = 'Placeholder task definition has been created';