|
@@ -24,7 +24,7 @@ pipeline {
|
|
sh '''GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
|
sh '''GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
|
git clone ${SWARM_GIT_URL}'''
|
|
git clone ${SWARM_GIT_URL}'''
|
|
}
|
|
}
|
|
- echo "Pull repo ${OVPN_GIT_NAME}"
|
|
|
|
|
|
+ echo "\u2600 Pull repo ${OVPN_GIT_NAME}"
|
|
withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
|
|
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' \
|
|
sh '''GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
|
git clone ${OVPN_GIT_URL}'''
|
|
git clone ${OVPN_GIT_URL}'''
|
|
@@ -33,14 +33,14 @@ pipeline {
|
|
}
|
|
}
|
|
stage("Generate zone-files") {
|
|
stage("Generate zone-files") {
|
|
steps {
|
|
steps {
|
|
- echo "Generate ptr-zones"
|
|
|
|
|
|
+ echo "\u2600 Generate ptr-zones"
|
|
sh '''serial=$(cat ${WORKSPACE}/${SWARM_GIT_NAME}/tags/bind.version)
|
|
sh '''serial=$(cat ${WORKSPACE}/${SWARM_GIT_NAME}/tags/bind.version)
|
|
serial=$((serial+1))
|
|
serial=$((serial+1))
|
|
${WORKSPACE}/generate_ptr.sh 201 ${serial}
|
|
${WORKSPACE}/generate_ptr.sh 201 ${serial}
|
|
${WORKSPACE}/generate_ptr.sh 204 ${serial}
|
|
${WORKSPACE}/generate_ptr.sh 204 ${serial}
|
|
${WORKSPACE}/generate_ptr.sh 205 ${serial}
|
|
${WORKSPACE}/generate_ptr.sh 205 ${serial}
|
|
'''
|
|
'''
|
|
- echo "Generate infoclinica-zone"
|
|
|
|
|
|
+ echo "\u2600 Generate infoclinica-zone"
|
|
sh '''serial=$(cat ${WORKSPACE}/${SWARM_GIT_NAME}/tags/bind.version)
|
|
sh '''serial=$(cat ${WORKSPACE}/${SWARM_GIT_NAME}/tags/bind.version)
|
|
serial=$((serial+1))
|
|
serial=$((serial+1))
|
|
${WORKSPACE}/generate_zone.sh ${serial}
|
|
${WORKSPACE}/generate_zone.sh ${serial}
|
|
@@ -49,7 +49,7 @@ pipeline {
|
|
}
|
|
}
|
|
stage("Create BIND Docker Image") {
|
|
stage("Create BIND Docker Image") {
|
|
steps {
|
|
steps {
|
|
- echo "Create image ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER}"
|
|
|
|
|
|
+ echo "\u2600 Create image ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER}"
|
|
sh '''docker build --no-cache -t ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} .
|
|
sh '''docker build --no-cache -t ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} .
|
|
if [ $? != 0 ]; then exit 1; fi
|
|
if [ $? != 0 ]; then exit 1; fi
|
|
'''
|
|
'''
|
|
@@ -57,7 +57,7 @@ pipeline {
|
|
}
|
|
}
|
|
stage("Staging") {
|
|
stage("Staging") {
|
|
steps {
|
|
steps {
|
|
- echo "Testing Bind"
|
|
|
|
|
|
+ echo "\u2600 Testing Bind"
|
|
sh '''container_id_server=`docker run -d --rm ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER}`
|
|
sh '''container_id_server=`docker run -d --rm ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER}`
|
|
docker exec -t ${container_id_server} nslookup iru-swarm.infoclinica.lan
|
|
docker exec -t ${container_id_server} nslookup iru-swarm.infoclinica.lan
|
|
if [ $? != 0 ]; then exit 1; else echo "DNS is working!!!"; fi
|
|
if [ $? != 0 ]; then exit 1; else echo "DNS is working!!!"; fi
|
|
@@ -73,7 +73,7 @@ pipeline {
|
|
}
|
|
}
|
|
stage("Prod-like") {
|
|
stage("Prod-like") {
|
|
steps {
|
|
steps {
|
|
- echo "Check Prod-like cluster status"
|
|
|
|
|
|
+ echo "\u2600 Check Prod-like cluster status"
|
|
sh '''ping -c 2 ${CLUSTER_NAME}
|
|
sh '''ping -c 2 ${CLUSTER_NAME}
|
|
if [ $? -eq 0 ]; then
|
|
if [ $? -eq 0 ]; then
|
|
export DOCKER_CERT_PATH=/run/secrets/swarm
|
|
export DOCKER_CERT_PATH=/run/secrets/swarm
|
|
@@ -81,13 +81,13 @@ pipeline {
|
|
docker node ls --format "{{.Hostname}} {{.TLSStatus}}" | while read host status
|
|
docker node ls --format "{{.Hostname}} {{.TLSStatus}}" | while read host status
|
|
do
|
|
do
|
|
if [ $status != Ready ]; then echo "Cluster ${CLUSTER_NAME} state is inconsistent"; exit 1
|
|
if [ $status != Ready ]; then echo "Cluster ${CLUSTER_NAME} state is inconsistent"; exit 1
|
|
- else echo "HOST: $host STATUS: $status"
|
|
|
|
|
|
+ else echo "\u2600 HOST: $host STATUS: $status"
|
|
fi
|
|
fi
|
|
done
|
|
done
|
|
- else echo "Host not Found"; exit 1
|
|
|
|
|
|
+ else echo "\u2600 Host not Found"; exit 1
|
|
fi
|
|
fi
|
|
'''
|
|
'''
|
|
- echo "Run containers in Prod-like"
|
|
|
|
|
|
+ echo "\u2600 Run containers in Prod-like"
|
|
sh '''export DOCKER_CERT_PATH=/run/secrets/swarm
|
|
sh '''export DOCKER_CERT_PATH=/run/secrets/swarm
|
|
export DOCKER_HOST=tcp://${CLUSTER_NAME}:2376 DOCKER_TLS_VERIFY=1
|
|
export DOCKER_HOST=tcp://${CLUSTER_NAME}:2376 DOCKER_TLS_VERIFY=1
|
|
export DOCKER_HOST=tcp://$(docker info -f '{{.Name}}'):2376 DOCKER_TLS_VERIFY=1
|
|
export DOCKER_HOST=tcp://$(docker info -f '{{.Name}}'):2376 DOCKER_TLS_VERIFY=1
|
|
@@ -106,12 +106,12 @@ pipeline {
|
|
}
|
|
}
|
|
stage("Tagging") {
|
|
stage("Tagging") {
|
|
steps {
|
|
steps {
|
|
- echo "Tagging ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} to ${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest"
|
|
|
|
|
|
+ echo "\u2600 Tagging ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} to ${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest"
|
|
sh '''docker tag ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} \
|
|
sh '''docker tag ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${BUILD_NUMBER} \
|
|
${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest
|
|
${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest
|
|
docker push ${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest
|
|
docker push ${DOCKER_REGISTRY}/iru/${DOCKER_IMAGE}:latest
|
|
'''
|
|
'''
|
|
- echo "Updating tag info in ${SWARM_GIT_NAME} repository"
|
|
|
|
|
|
+ echo "\u2600 Updating tag info in ${SWARM_GIT_NAME} repository"
|
|
withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
|
|
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' \
|
|
sh '''GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
|
|
git clone ${SWARM_GIT_URL}
|
|
git clone ${SWARM_GIT_URL}
|