-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathpipeline.asl.json
82 lines (82 loc) · 2.07 KB
/
pipeline.asl.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
{
"StartAt": "Build",
"States": {
"Build": {
"Type": "Task",
"Resource": "arn:aws:states:::codebuild:startBuild.sync",
"Parameters": {
"ProjectName": "${BuildProject}",
"SourceVersion.$": "$.head_commit_id"
},
"ResultPath": "$.BuildOutput",
"Next": "On Default Branch?"
},
"On Default Branch?": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.ref",
"StringMatches": "refs/tags/*",
"Next": "Check if Superseded"
}
],
"Default": "Success"
},
"Check if Superseded": {
"Type": "Task",
"Resource": "arn:aws:states:::sqs:sendMessage.waitForTaskToken",
"ResultPath": "$.SupersededOutput",
"Next": "Was Superseded?",
"Parameters": {
"QueueUrl": "${SupersessionQueue}",
"MessageGroupId": "${GithubRepo}",
"MessageBody": {
"Pipeline": "${GithubRepoo}",
"CommitTimestamp.$": "$.head_commit.timestamp",
"Token.$": "$$.Task.Token"
}
}
},
"Was Superseded?": {
"Type": "Choice",
"Choices": [
{
"Variable": "$.SupersededOutput.Superseded",
"BooleanEquals": true,
"Next": "Success"
},
{
"Variable": "$.SupersededOutput.Superseded",
"BooleanEquals": false,
"Next": "Deploy to Oss"
}
]
},
"Deploy to Oss": {
"Type": "Task",
"ResultPath": null,
"Resource": "arn:aws:states:::codebuild:startBuild.sync",
"Parameters": {
"ProjectName": "${DeployProject}",
"SourceVersion.$": "$.head_commit_id",
"EnvironmentVariablesOverride": [
{
"Name": "REF",
"Value.$": "$.ref"
}
],
"SecondarySourcesOverride": [
{
"SourceIdentifier": "TEMPLATE",
"Type": "S3",
"Location.$": "$.BuildOutput.Build.Artifacts.Location"
}
]
},
"Next": "Success"
},
"Success": {
"Type": "Succeed"
}
}
}