You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.8 KiB
Plaintext
65 lines
1.8 KiB
Plaintext
pipeline {
|
|
agent { label 'docker' }
|
|
|
|
environment {
|
|
ROLES_VERSION = "${env.GIT_COMMIT}"
|
|
}
|
|
|
|
stages {
|
|
stage('Anible Lint') {
|
|
agent {
|
|
docker {
|
|
image 'evolix/ansible-lint:latest'
|
|
}
|
|
}
|
|
steps {
|
|
script {
|
|
sh 'for role_dir in ./*/; do HOME=$WORKSPACE_TMP ansible-lint -p $role_dir || : ; done'
|
|
recordIssues(tools: [ansibleLint()])
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Build tagged docker image') {
|
|
when {
|
|
buildingTag()
|
|
}
|
|
steps {
|
|
script {
|
|
def im = docker.build("evolix/ansible-roles:build${env.BUILD_ID}")
|
|
im.inside {
|
|
sh 'echo Test needed'
|
|
}
|
|
def version = TAG_NAME
|
|
def versions = version.split('\\.')
|
|
def major = versions[0]
|
|
def minor = versions[0] + '.' + versions[1]
|
|
def patch = version.trim()
|
|
docker.withRegistry('', 'hub.docker') {
|
|
im.push(major)
|
|
im.push(minor)
|
|
im.push(patch)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stage('Build latest docker image') {
|
|
when {
|
|
branch 'unstable'
|
|
}
|
|
steps {
|
|
script {
|
|
def im = docker.build("evolix/ansible-roles:build${env.BUILD_ID}")
|
|
im.inside {
|
|
sh 'echo Test needed'
|
|
}
|
|
docker.withRegistry('', 'hub.docker') {
|
|
im.push('latest')
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|