build(jenkinsfile): add docker image publish job for git tag (#198)

* add tag jenkinsfile

* fix

* msg change

* change

* fix

* change

* trigger

* more precise

* simplify

Co-authored-by: vincent <419436363@qq.com>
Co-authored-by: HAOYUatHZ <37070449+HAOYUatHZ@users.noreply.github.com>
This commit is contained in:
ChuhanJin 2023-01-13 16:21:26 +08:00 committed by GitHub
parent 2891916a0f
commit cdaea93962
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -0,0 +1,60 @@
credentialDocker = 'dockerhub'
pipeline {
agent any
options {
timeout (20)
}
tools {
go 'go-1.18'
nodejs "nodejs"
}
environment {
GO111MODULE = 'on'
PATH="/home/ubuntu/.cargo/bin:$PATH"
// LOG_DOCKER = 'true'
}
stages {
stage('Tag') {
steps {
script {
TAGNAME = sh(returnStdout: true, script: 'git tag -l --points-at HEAD')
sh "echo ${TAGNAME}"
// ...
}
}
}
stage('Build') {
environment {
DOCKER_CREDENTIALS = credentials('dockerhub')
}
steps {
withCredentials([usernamePassword(credentialsId: "${credentialDocker}", passwordVariable: 'dockerPassword', usernameVariable: 'dockerUser')]) {
// Use a scripted pipeline.
script {
stage('Push image') {
if (TAGNAME == ""){
return;
}
sh "docker login --username=${dockerUser} --password=${dockerPassword}"
sh "docker build -t scrolltech/l2geth:${TAGNAME} ."
sh "docker push scrolltech/l2geth:${TAGNAME}"
}
}
}
}
}
}
post {
success {
slackSend(message: "l2geth tag ${TAGNAME} build dockersSuccessed")
}
// triggered when red sign
failure {
slackSend(message: "l2geth tag ${TAGNAME} build docker failed")
}
always {
cleanWs()
}
}
}