|
@@ -95,75 +95,37 @@ pipeline {
|
|
|
echo "${NODE}"
|
|
|
sh """container_id_client=\$(docker run -e mode=client -e server=${NODE} --privileged -d --rm ${DOCKER_IMAGE}:${SERIAL})
|
|
|
docker exec -t \${container_id_client} ping -c 3 -q 10.10.20.1
|
|
|
- if [ \$? != 0 ]; then exit 1; else echo 'DNS is working!!!'; fi
|
|
|
+ if [ \$? != 0 ]; then exit 1; else echo 'OVPN_RSA is working!!!'; fi
|
|
|
"""
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
-/* stage("Prod-like") {
|
|
|
+ stage ("Tagging") {
|
|
|
steps {
|
|
|
- echo "Check Prod-like cluster status"
|
|
|
- sh '''ping -c 2 ${CLUSTER_NAME}
|
|
|
- if [ $? -eq 0 ]; then
|
|
|
- export DOCKER_CERT_PATH=/run/secrets/swarm
|
|
|
- export DOCKER_HOST=tcp://${CLUSTER_NAME}:2376 DOCKER_TLS_VERIFY=1
|
|
|
- docker node ls --format "{{.Hostname}} {{.TLSStatus}}" | while read host status
|
|
|
- do
|
|
|
- if [ $status != Ready ]; then echo "Cluster ${CLUSTER_NAME} state is inconsistent"; exit 1
|
|
|
- else echo "HOST: $host STATUS: $status"
|
|
|
- fi
|
|
|
- done
|
|
|
- else echo "Host not Found"; exit 1
|
|
|
- fi
|
|
|
- '''
|
|
|
- echo "Run containers in Prod-like"
|
|
|
- sh '''export DOCKER_CERT_PATH=/run/secrets/swarm
|
|
|
- export DOCKER_HOST=tcp://${CLUSTER_NAME}:2376 DOCKER_TLS_VERIFY=1
|
|
|
- export DOCKER_HOST=tcp://$(docker info -f '{{.Name}}'):2376 DOCKER_TLS_VERIFY=1
|
|
|
- if [ -z $(docker service ps -q ${DOCKER_IMAGE}) ];then
|
|
|
- docker service create --replicas 1 \
|
|
|
- --mount type=bind,source=/var/run/docker.sock,destination=/var/run/docker.sock \
|
|
|
- --name ${SERVICE_NAME} ${DOCKER_REGISTRY}/${SERVICE_IMAGE}:2 -p 1194:1194 \
|
|
|
- --privileged --security-opt seccomp=unconfined \
|
|
|
- --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
|
|
|
- -e "mode=server" ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER}
|
|
|
- else
|
|
|
- docker service update \
|
|
|
- --args "-p 1194:1194 --privileged --security-opt seccomp=unconfined \
|
|
|
- --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro \
|
|
|
- -e "mode=server" ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER}" \
|
|
|
- ${SERVICE_NAME}
|
|
|
- if [ $? != 0 ]; then docker service rollback ${SERVICE_NAME}; fi
|
|
|
- fi
|
|
|
- '''
|
|
|
+ script {
|
|
|
+ ENAMES.each { item ->
|
|
|
+ echo "Setting latest tag for $item"
|
|
|
+ sh """docker tag ${DOCKER_IMAGE}:${SERIAL} ${REGISTRIES.get((item))}/${DOCKER_IMAGE}:latest
|
|
|
+ docker push ${REGISTRIES.get((item))}/${DOCKER_IMAGE}:latest
|
|
|
+ """
|
|
|
+ }
|
|
|
+ }
|
|
|
+ echo "Updating tag info in ${SWARM_GIT_NAME} repository"
|
|
|
+ withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
|
|
|
+ sh """cd ${SWARM_GIT_NAME}
|
|
|
+ echo -n ${SERIAL} > tags/${DOCKER_IMAGE}.version
|
|
|
+ git add -A
|
|
|
+ git config --global user.email "${JENKINS_MAIL}"
|
|
|
+ git config --global user.name "Jenkins"
|
|
|
+ git commit -m 'Version update'
|
|
|
+ GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
|
|
+ git push origin master
|
|
|
+ """
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- stage("Tagging") {
|
|
|
- steps {
|
|
|
- echo "Tagging ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} to ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:latest"
|
|
|
- sh '''docker tag ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} \
|
|
|
- ${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest
|
|
|
- docker push ${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest
|
|
|
- '''
|
|
|
- echo "Updating tag info in ${SWARM_GIT_NAME} repository"
|
|
|
- withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
|
|
|
- sh '''GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
|
|
- git clone ${SWARM_GIT_URL}
|
|
|
- cd ${SWARM_GIT_NAME}
|
|
|
- echo -n ${BUILD_NUMBER} > tags/${DOCKER_IMAGE}.version
|
|
|
- git add -A
|
|
|
- git config --global user.email "${JENKINS_MAIL}"
|
|
|
- git config --global user.name "Jenkins"
|
|
|
- git commit -m 'Version update'
|
|
|
- GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
|
|
- git push origin master
|
|
|
- '''
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-*/ }
|
|
|
+ }
|
|
|
post {
|
|
|
always {
|
|
|
echo "CleaningUp work directory"
|