diff --git a/push-docker-tag.Jenkinsfile b/push-docker-tag.Jenkinsfile new file mode 100644 index 0000000000..5dc89ae563 --- /dev/null +++ b/push-docker-tag.Jenkinsfile @@ -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() + } + } +}