Automate deployment to GCP
This commit is contained in:
34
Jenkinsfile
vendored
34
Jenkinsfile
vendored
@@ -50,7 +50,7 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Push to registry') {
|
stage('Push to local registry') {
|
||||||
when {
|
when {
|
||||||
expression {
|
expression {
|
||||||
return params.Build == true
|
return params.Build == true
|
||||||
@@ -59,7 +59,6 @@ pipeline {
|
|||||||
steps {
|
steps {
|
||||||
sh "docker push git.jakecharman.co.uk/jake/jakecharman.co.uk:$BUILD_NUMBER"
|
sh "docker push git.jakecharman.co.uk/jake/jakecharman.co.uk:$BUILD_NUMBER"
|
||||||
sh "docker push git.jakecharman.co.uk/jake/jakecharman.co.uk:latest"
|
sh "docker push git.jakecharman.co.uk/jake/jakecharman.co.uk:latest"
|
||||||
sh "docker push europe-west2-docker.pkg.dev/jakecharman/web/jakecharman.co.uk:latest"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,20 +102,25 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stage('Deploy to production server') {
|
stage('Push to GCP registry') {
|
||||||
|
when {
|
||||||
|
expression {
|
||||||
|
return params.Build == true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
steps {
|
||||||
|
sh "docker push europe-west2-docker.pkg.dev/jakecharman/web/jakecharman.co.uk:latest"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
stage('Deploy to production') {
|
||||||
when {
|
when {
|
||||||
expression {
|
expression {
|
||||||
return params.Deploy == true
|
return params.Deploy == true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
steps{
|
steps{
|
||||||
node('web-server') {
|
sh "gcloud run deploy jakecharamn-co-uk --image europe-west2-docker.pkg.dev/jakecharman/web/jakecharman.co.uk:latest"
|
||||||
sh "docker pull git.jakecharman.co.uk/jake/jakecharman.co.uk:latest"
|
|
||||||
sh "docker stop jake || true"
|
|
||||||
sh "docker rm jake || true"
|
|
||||||
sh "docker run --name jake -e DISCORD_ERR_HOOK=$DISCORD_ERR_PROD -e DISCORD_WEBHOOK=$DISCORD -e TURNSTILE_SECRET=$TS --restart always --network containers_default -v /opt/containers/jc/projects/:/var/www/jc/projects/ -d git.jakecharman.co.uk/jake/jakecharman.co.uk:latest"
|
|
||||||
sh "/home/jenkins/clearCFCache/clearCache.py a514fb61e1413b88aabbb19df16b8508"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -127,12 +131,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
node('web-server') {
|
git branch: 'master',
|
||||||
git branch: 'master',
|
credentialsId: 'Git',
|
||||||
credentialsId: 'Git',
|
url: 'git@git.jakecharman.co.uk:jake/jc-content.git'
|
||||||
url: 'git@git.jakecharman.co.uk:jake/jc-content.git'
|
sh "gsutil rsync -rd . gs://jakecharman.co.uk"
|
||||||
sh "rsync -rv --delete ./ /opt/containers/jc/projects/"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user