Skip to content

Commit 323ef0a

Browse files
authored
Merge pull request #102 from overture-stack/feature/jenkinsfile-modified
👷 Modified jenkins file
2 parents b209b7d + dd01b23 commit 323ef0a

File tree

1 file changed

+108
-19
lines changed

1 file changed

+108
-19
lines changed

Diff for: Jenkinsfile

+108-19
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,65 @@
11
#!groovy
22
properties([
3-
pipelineTriggers([[$class:"SCMTrigger", scmpoll_spec:"H/2 * * * *"]])
3+
pipelineTriggers([[$class:"GitHubPushTrigger"]])
44
])
5-
65
pipeline {
76
agent { label 'docker-slave' }
87
stages{
98
stage('Get Code') {
109
steps {
1110
deleteDir()
12-
checkout scm
11+
checkout ([
12+
$class: 'GitSCM',
13+
branches: scm.branches,
14+
doGenerateSubmoduleConfigurations: scm.doGenerateSubmoduleConfigurations,
15+
extensions: [[$class: 'CloneOption', noTags: false, shallow: false, depth: 0, reference: '']],
16+
userRemoteConfigs: scm.userRemoteConfigs,
17+
])
18+
script {
19+
tag=sh(returnStdout: true, script: "git tag -l --points-at HEAD").trim()
20+
env.tag = tag
21+
}
1322
}
1423
}
1524
stage('GetOpsScripts') {
1625
steps {
17-
slackSend (color: '#ddaa00', message: ":construction_worker: GETTING SCRIPTS:")
26+
slackSend (color: '#ddaa00', message: ":construction_worker: kf-portal-ego GETTING SCRIPTS:")
1827
sh '''
19-
git clone [email protected]:overture-stack/ego.git
28+
git clone [email protected]:kids-first/kf-portal-ego-config.git
2029
'''
2130
}
2231
}
2332
stage('Test') {
2433
steps {
25-
slackSend (color: '#ddaa00', message: ":construction_worker: TESTING STARTED: (${env.BUILD_URL})")
34+
slackSend (color: '#ddaa00', message: ":construction_worker: kf-portal-ego TESTING STARTED: (${env.BUILD_URL})")
2635
sh '''
27-
dataservice-api/test_stage/test.sh
36+
kf-portal-ego-config/aws-ecs-service-type-1/ci-scripts/test_stage/test.sh
2837
'''
29-
slackSend (color: '#41aa58', message: ":white_check_mark: TESTING COMPLETED: (${env.BUILD_URL})")
38+
slackSend (color: '#41aa58', message: ":white_check_mark: kf-portal-ego TESTING COMPLETED: (${env.BUILD_URL})")
3039
}
3140
post {
3241
failure {
33-
slackSend (color: '#ff0000', message: ":frowning: Test Failed: Branch '${env.BRANCH} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
42+
slackSend (color: '#ff0000', message: ":frowning: kf-portal-ego Test Failed: Branch '${env.BRANCH_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
3443
}
3544
}
3645
}
3746
stage('Build') {
3847
steps {
3948
sh '''
40-
dataservice-api/build_stage/build.sh
49+
kf-portal-ego-config/aws-ecs-service-type-1/ci-scripts/build_stage/build.sh
4150
'''
4251
}
4352
}
4453
stage('Publish') {
4554
steps {
4655
sh '''
47-
dataservice-api/publish_stage/publish.sh
56+
kf-portal-ego-config/aws-ecs-service-type-1/ci-scripts/publish_stage/publish.sh
4857
'''
49-
slackSend (color: '#41aa58', message: ":arrow_up: PUSHED IMAGE: (${env.BUILD_URL})")
58+
slackSend (color: '#41aa58', message: ":arrow_up: kf-portal-ego PUSHED IMAGE: (${env.BUILD_URL})")
5059
}
5160
post {
5261
failure {
53-
slackSend (color: '#ff0000', message: ":frowning: Publish Failed: Branch '${env.BRANCH} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
62+
slackSend (color: '#ff0000', message: ":frowning: kf-portal-ego Publish Failed: Branch '${env.BRANCH_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
5463
}
5564
}
5665
}
@@ -63,28 +72,108 @@ pipeline {
6372
steps {
6473
slackSend (color: '#005e99', message: ":deploying_dev: DEPLOYING TO DEVELOPMENT: (${env.BUILD_URL})")
6574
sh '''
66-
dataservice-api/deploy_stage/deploy.sh dev
75+
kf-portal-ego-config/aws-ecs-service-type-1/ci-scripts/deploy_stage/deploy.sh dev
6776
'''
68-
slackSend (color: '#41aa58', message: ":white_check_mark: DEPLOYED TO DEVELOPMENT: (${env.BUILD_URL})")
77+
slackSend (color: '#41aa58', message: ":white_check_mark: kf-portal-ego DEPLOYED TO DEVELOPMENT: (${env.BUILD_URL})")
6978
}
7079
post {
7180
failure {
72-
slackSend (color: '#ff0000', message: ":frowning: Test Failed: Branch '${env.BRANCH} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
81+
slackSend (color: '#ff0000', message: ":frowning: kf-portal-ego Deploy Failed: Branch '${env.BRANCH_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
7382
}
7483
}
7584
}
85+
stage('Retag with pre-release'){
86+
when {
87+
expression {
88+
return env.BRANCH_NAME == 'master';
89+
}
90+
expression {
91+
return tag != '';
92+
}
93+
}
94+
steps {
95+
slackSend (color: '#005e99', message: ":deploying_qa: Retagging image with 'pre-release'")
96+
sh '''
97+
MANIFEST=$(aws ecr batch-get-image --region us-east-1 --repository-name kf-portal-ego --image-ids imageTag=latest --query images[].imageManifest --output text)
98+
aws ecr put-image --region us-east-1 --repository-name kf-portal-ego --image-tag "prerelease-$tag" --image-manifest "$MANIFEST"
99+
'''
100+
}
101+
}
76102
stage('Deploy QA') {
77103
when {
78104
expression {
79105
return env.BRANCH_NAME == 'master';
80106
}
81107
}
82108
steps {
83-
slackSend (color: '#005e99', message: ":deploying_qa: DEPLOYING TO QA: (${env.BUILD_URL})")
109+
slackSend (color: '#005e99', message: ":deploying_qa: kf-portal-ego DEPLOYING TO QA: (${env.BUILD_URL})")
110+
sh '''
111+
kf-portal-ego-config/aws-ecs-service-type-1/ci-scripts/deploy_stage/deploy.sh qa
112+
'''
113+
slackSend (color: '#41aa58', message: ":white_check_mark: kf-portal-ego DEPLOYED TO QA: (${env.BUILD_URL})")
114+
}
115+
post {
116+
failure {
117+
slackSend (color: '#ff0000', message: ":frowning: kf-portal-ego Deploy Failed: Branch '${env.BRANCH_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
118+
}
119+
}
120+
}
121+
stage("Promotion kf-portal-ego to PRD") {
122+
when {
123+
expression {
124+
return env.BRANCH_NAME == 'master';
125+
}
126+
expression {
127+
return tag != '';
128+
}
129+
}
130+
steps {
131+
script {
132+
env.DEPLOY_TO_PRD = input message: 'User input required',
133+
submitter: 'lubneuskia,heatha',
134+
parameters: [choice(name: 'kf-portal-ego: Deploy to PRD Environment', choices: 'no\nyes', description: 'Choose "yes" if you want to deploy the PRD server')]
135+
}
136+
}
137+
}
138+
stage('Retag with release'){
139+
when {
140+
environment name: 'DEPLOY_TO_PRD', value: 'yes'
141+
expression {
142+
return env.BRANCH_NAME == 'master';
143+
}
144+
expression {
145+
return tag != '';
146+
}
147+
}
148+
steps {
149+
slackSend (color: '#005e99', message: ":deploying_prd: kf-portal-ego Retagging image with 'release'")
150+
sh '''
151+
MANIFEST=$(aws ecr batch-get-image --region us-east-1 --repository-name kf-portal-ego --image-ids imageTag="prerelease-$tag" --query images[].imageManifest --output text)
152+
aws ecr put-image --region us-east-1 --repository-name kf-portal-ego --image-tag "$tag" --image-manifest "$MANIFEST"
153+
'''
154+
}
155+
post {
156+
failure {
157+
slackSend (color: '#ff0000', message: ":frowning: kf-portal-ego Deploy Failed: Branch '${env.BRANCH_NAME} [${env.BUILD_NUMBER}]' (${env.BUILD_URL})")
158+
}
159+
}
160+
}
161+
stage('Deploy PRD') {
162+
when {
163+
environment name: 'DEPLOY_TO_PRD', value: 'yes'
164+
expression {
165+
return env.BRANCH_NAME == 'master';
166+
}
167+
expression {
168+
return tag != '';
169+
}
170+
}
171+
steps {
172+
slackSend (color: '#005e99', message: ":deploying_prd: kf-portal-ego DEPLOYING TO PRD: (${env.BUILD_URL})")
84173
sh '''
85-
dataservice-api/deploy_stage/deploy.sh qa
174+
kf-portal-ego-config/aws-ecs-service-type-1/ci-scripts/deploy_stage/deploy.sh prd
86175
'''
87-
slackSend (color: '#41aa58', message: ":white_check_mark: DEPLOYED TO QA: (${env.BUILD_URL})")
176+
slackSend (color: '#41aa58', message: ":white_check_mark: kf-portal-ego DEPLOYED TO PRD: (${env.BUILD_URL})")
88177
}
89178
}
90179
}

0 commit comments

Comments
 (0)