unique task def per job
parent
e6716c9245
commit
83596d67c2
|
|
@ -87,6 +87,16 @@ Resources:
|
||||||
Fn::GetAtt:
|
Fn::GetAtt:
|
||||||
- "KinesisStream"
|
- "KinesisStream"
|
||||||
- "Arn"
|
- "Arn"
|
||||||
|
CloudWatchIAMRole:
|
||||||
|
Type: 'AWS::IAM::Role'
|
||||||
|
Properties:
|
||||||
|
Statement:
|
||||||
|
- Effect: "Allow"
|
||||||
|
Action: "kinesis:PutRecord"
|
||||||
|
Resource:
|
||||||
|
Fn::GetAtt:
|
||||||
|
- "KinesisStream"
|
||||||
|
- "Arn"
|
||||||
|
|
||||||
KinesisStream:
|
KinesisStream:
|
||||||
Type: AWS::Kinesis::Stream
|
Type: AWS::Kinesis::Stream
|
||||||
|
|
|
||||||
|
|
@ -34,28 +34,19 @@ class AWS {
|
||||||
|
|
||||||
const alphanumericImageName = image.toString().replace(/[^\da-z]/gi, '');
|
const alphanumericImageName = image.toString().replace(/[^\da-z]/gi, '');
|
||||||
const taskDefStackName = `${stackName}-taskDef-${alphanumericImageName}-${nanoid()}`;
|
const taskDefStackName = `${stackName}-taskDef-${alphanumericImageName}-${nanoid()}`;
|
||||||
const stackExists =
|
core.info("Task Definition doesn't exist, creating a task definition stack");
|
||||||
(await CF.listStacks().promise()).StackSummaries.find(
|
const taskDefCloudFormation = fs.readFileSync(`${__dirname}/task-def-formation.yml`, 'utf8');
|
||||||
(x) => x.StackName === taskDefStackName,
|
await CF.createStack({
|
||||||
) !== undefined;
|
StackName: taskDefStackName,
|
||||||
|
TemplateBody: taskDefCloudFormation,
|
||||||
if (!stackExists) {
|
Parameters: [
|
||||||
core.info("Task Definition doesn't exist, creating a task definition stack");
|
{
|
||||||
const taskDefCloudFormation = fs.readFileSync(`${__dirname}/task-def-formation.yml`, 'utf8');
|
ParameterKey: 'ImageUrl',
|
||||||
await CF.createStack({
|
ParameterValue: image,
|
||||||
StackName: taskDefStackName,
|
},
|
||||||
TemplateBody: taskDefCloudFormation,
|
],
|
||||||
Parameters: [
|
}).promise();
|
||||||
{
|
await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
|
||||||
ParameterKey: 'ImageUrl',
|
|
||||||
ParameterValue: image,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}).promise();
|
|
||||||
await CF.waitFor('stackCreateComplete', { StackName: taskDefStackName }).promise();
|
|
||||||
} else {
|
|
||||||
core.info('Task definition stack exists already');
|
|
||||||
}
|
|
||||||
|
|
||||||
const taskDefResources = await CF.describeStackResources({
|
const taskDefResources = await CF.describeStackResources({
|
||||||
StackName: taskDefStackName,
|
StackName: taskDefStackName,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue