forked from stacksimplify/terraform-on-aws-eks
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJenkinsfile-CDN-Deploy
107 lines (107 loc) · 6.52 KB
/
Jenkinsfile-CDN-Deploy
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
pipeline {
options
{
buildDiscarder(logRotator(numToKeepStr: '10'))
}
agent any
environment
{
UPDATE_ACTION ="${Update_Action}"
SELECT_ENV = "${Select_Env}"
AWS_SDK_LOAD_CONFIG=1
registryCredential = 'docker_hub_id'
}
stages {
stage("Execution") {
steps {
script {
if (UPDATE_ACTION == "rebuild_container") {
if (SELECT_ENV == "dev") {
sh"""
cd terraform
pwd
cd /var/lib/jenkins
sudo ./script.sh
pwd
cd /var/lib/jenkins/workspace/inboxable-vega-cloudfront
pwd
sudo aws ssm get-parameters --region us-east-1 --names "/vega/dev/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env
sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com
sudo docker build --platform linux/amd64 -t v7-0-0-dev-inboxable-vega .
sudo docker tag v7-0-0-dev-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest
sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest
sudo mkdir /opt/docker_build
cd /opt/docker_build
sudo docker container create -v /var/www/html/public/build --name v7-0-0-dev-inboxable-build 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest
sudo docker cp v7-0-0-dev-inboxable-build:/var/www/html/public/build .
sudo aws s3 cp /opt/docker_build s3://v7-0-0-dev-ips-proxy-assets --recursive
sudo rm -rf /opt/docker_build
sudo docker rm -f v7-0-0-dev-inboxable-build
ls
sudo docker rmi 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-dev-inboxable-vega:latest
sudo docker rmi v7-0-0-dev-inboxable-vega:latest
"""
}
else if (SELECT_ENV == "stag"){
sh"""
cd terraform
pwd
cd /var/lib/jenkins
sudo ./script.sh
pwd
cd /var/lib/jenkins/workspace/inboxable-vega-cloudfront
pwd
sudo aws ssm get-parameters --region us-east-1 --names "/vega/stag/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env
sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com
sudo docker build --platform linux/amd64 -t v7-0-0-stag-inboxable-vega .
sudo docker tag v7-0-0-stag-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest
sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest
sudo mkdir /opt/docker_build
cd /opt/docker_build
sudo docker container create -v /var/www/html/public/build --name v7-0-0-stag-inboxable-build 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest
sudo docker cp v7-0-0-stag-inboxable-build:/var/www/html/public/build .
sudo aws s3 cp /opt/docker_build s3://v7-0-0-stag-ips-proxy-assets --recursive
sudo rm -rf /opt/docker_build
sudo docker rm -f v7-0-0-stag-inboxable-build
ls
sudo docker rmi 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-stag-inboxable-vega:latest
sudo docker rmi v7-0-0-stag-inboxable-vega:latest
"""
}
else if (SELECT_ENV == "prod"){
sh"""
cd terraform
pwd
cd /var/lib/jenkins
sudo ./script.sh
pwd
cd /var/lib/jenkins/workspace/inboxable-vega-cloudfront
pwd
sudo aws ssm get-parameters --region us-east-1 --names "/vega/prod/env" --with-decryption --output text --query "Parameters[*].{Value:Value}" > .env
sudo aws ecr get-login-password --region us-east-1 | docker login --username AWS --password-stdin 812619949880.dkr.ecr.us-east-1.amazonaws.com
sudo docker build --platform linux/amd64 -t v7-0-0-prod-inboxable-vega .
sudo docker tag v7-0-0-prod-inboxable-vega:latest 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest
sudo docker push 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest
sudo mkdir /opt/docker_build
cd /opt/docker_build
sudo docker container create -v /var/www/html/public/build --name v7-0-0-prod-inboxable-build 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest
sudo docker cp v7-0-0-prod-inboxable-build:/var/www/html/public/build .
sudo aws s3 cp /opt/docker_build s3://v7-0-0-prod-ips-proxy-assets --recursive
sudo rm -rf /opt/docker_build
sudo docker rm -f v7-0-0-prod-inboxable-build
ls
sudo docker rmi 812619949880.dkr.ecr.us-east-1.amazonaws.com/v7-0-0-prod-inboxable-vega:latest
sudo docker rmi v7-0-0-prod-inboxable-vega:latest
"""
}
}
else {
sh"""
echo "Nothing to do"
"""
}
}
}
}
}
}