chore: added Jenkinsfile
Some checks failed
Gitea/docker-base-images/jenkins-ssh-agent-jdk17-dind/pipeline/head There was a failure building this commit
Some checks failed
Gitea/docker-base-images/jenkins-ssh-agent-jdk17-dind/pipeline/head There was a failure building this commit
This commit is contained in:
parent
3849aab9b5
commit
d8a6c9a9bd
45
Jenkinsfile
vendored
Normal file
45
Jenkinsfile
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
def resolveImageTag(env) {
|
||||
return env.TAG_NAME?.replace(env.RELEASE_TAG_PREFIX, '') ?: 'latest'
|
||||
}
|
||||
|
||||
def resolveImageName(env) {
|
||||
return "${env.REGISTRY_HOST}/docker-base-images/${env.IMAGE_BASE_NAME}:${resolveImageTag(env)}"
|
||||
}
|
||||
|
||||
pipeline {
|
||||
agent {
|
||||
docker {
|
||||
image 'git.tswf.io/docker-base-images/alpine-base:1.0.0-3.17.3'
|
||||
// Mount docker socket for docker-in-docker
|
||||
args '-v /var/run/docker.sock:/var/run/docker.sock'
|
||||
}
|
||||
}
|
||||
stages {
|
||||
stage('prepare') {
|
||||
steps {
|
||||
script {
|
||||
env.IMAGE_BASE_NAME = "jenkins-ssh-agent-jdk17-dind"
|
||||
env.RELEASE_TAG_PREFIX = "release-"
|
||||
env.REGISTRY_HOST = "git.tswf.io"
|
||||
if (env.TAG_NAME == null) {
|
||||
env.TAG_NAME = sh(returnStdout: true, script: "git tag --points-at HEAD").trim()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stage('build_docker') {
|
||||
steps {
|
||||
sh "docker build . --tag ${resolveImageName(env)}"
|
||||
}
|
||||
}
|
||||
stage('push_docker') {
|
||||
when {
|
||||
tag "${env.RELEASE_TAG_PREFIX}*"
|
||||
}
|
||||
steps {
|
||||
sh "docker login ${env.REGISTRY_HOST} -u ${env.GITEA_USER} -p ${env.GITEA_OAUTH_TOKEN}"
|
||||
sh "docker image push ${resolveImageName(env)}"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user