GitLab demo 1:
GitLab demo 1 Job:
docker run --name demo1-${BUILD_NUMBER} --rm -d gitlab/nginx-demo1 sleep 15 CONTAINER_IP=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' demo1-${BUILD_NUMBER}) CODE_STATUS=$(curl -sI ${CONTAINER_IP} | grep -c "^HTTP/1.1 200") docker stop demo1-${BUILD_NUMBER} #[[ ${CODE_STATUS} == 1 ]] && { echo "OK"; exit 0; } || { echo "KO";exit 1; } if [ ${CODE_STATUS} -eq 1 ]; then { exit 0; } else { exit 1; } fi
gitlab demo 1 pipeline:
node { stage("build") { def job = build job: 'gitlab demo1' } stage("execute") { def job = build job: 'gitlab demo1 job' } stage("publish") { def job = build job: 'gitlab demo1 publish' } }
gitlab demo1 publish:
node ("docker-agent") { stage ("tag") { sh ('docker tag gitlab/nginx-demo1:latest registry.floss.cat/mate/demo1:latest') } stage ("push") { withCredentials([usernamePassword(credentialsId: 'registry.floss.cat', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) { sh(''' docker login --username=${USERNAME} --password=${PASSWORD} registry.floss.cat docker push registry.floss.cat/mate/demo1:latest ''') } } }