|  | @@ -1,5 +1,8 @@
 | 
											
												
													
														|  |  def ENAMES = [ 'prod-open', 'prod' ]
 |  |  def ENAMES = [ 'prod-open', 'prod' ]
 | 
											
												
													
														|  |  //def def ENAMES = [ 'dev-open', 'dev' ]
 |  |  //def def ENAMES = [ 'dev-open', 'dev' ]
 | 
											
												
													
														|  | 
 |  | +def REPOS = ['prod': 'ssh://git@git.sdsys.ru:8022/labportal/stack-deploy.git',
 | 
											
												
													
														|  | 
 |  | +             'prod-open': 'ssh://git@git.sdsys.ru:8022/labportal/stack-deploy-open.git']
 | 
											
												
													
														|  | 
 |  | +def GIT_DIR = ['prod': 'stack-deploy', 'prod-open': 'stack-deploy-open']
 | 
											
												
													
														|  |  def CLUSTERS = ['prod': 'iru-swarm.infoclinica.lan',
 |  |  def CLUSTERS = ['prod': 'iru-swarm.infoclinica.lan',
 | 
											
												
													
														|  |                  'prod-open': 'iru-swarm1-open.infoclinica.ru',
 |  |                  'prod-open': 'iru-swarm1-open.infoclinica.ru',
 | 
											
												
													
														|  |                  'dev': 'dev-iru-swarm.infoclinica.lan',
 |  |                  'dev': 'dev-iru-swarm.infoclinica.lan',
 | 
											
										
											
												
													
														|  | @@ -22,8 +25,6 @@ pipeline {
 | 
											
												
													
														|  |      label "swarm"
 |  |      label "swarm"
 | 
											
												
													
														|  |    }
 |  |    }
 | 
											
												
													
														|  |    environment {
 |  |    environment {
 | 
											
												
													
														|  | -    SWARM_GIT_URL='ssh://git@git.sdsys.ru:8022/labportal/stack-deploy.git'
 |  | 
 | 
											
												
													
														|  | -    SWARM_GIT_NAME='stack-deploy'
 |  | 
 | 
											
												
													
														|  |      JENKINS_MAIL='jenkins.dev@sdsys.ru'
 |  |      JENKINS_MAIL='jenkins.dev@sdsys.ru'
 | 
											
												
													
														|  |      DOCKER_CERT_PATH='/run/secrets/swarm'
 |  |      DOCKER_CERT_PATH='/run/secrets/swarm'
 | 
											
												
													
														|  |      DOCKER_IMAGE='analis-wineservice'
 |  |      DOCKER_IMAGE='analis-wineservice'
 | 
											
										
											
												
													
														|  | @@ -46,10 +47,13 @@ pipeline {
 | 
											
												
													
														|  |      stage("Git Pull. Define Version to Update") {
 |  |      stage("Git Pull. Define Version to Update") {
 | 
											
												
													
														|  |        steps {
 |  |        steps {
 | 
											
												
													
														|  |          script {
 |  |          script {
 | 
											
												
													
														|  | -          withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
 |  | 
 | 
											
												
													
														|  | -            sh """set +x && GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
 |  | 
 | 
											
												
													
														|  | -                    git clone ${SWARM_GIT_URL}
 |  | 
 | 
											
												
													
														|  | -               """
 |  | 
 | 
											
												
													
														|  | 
 |  | +          ENAMES.each { item ->
 | 
											
												
													
														|  | 
 |  | +            withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
 | 
											
												
													
														|  | 
 |  | +              sh """set +x && GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
 | 
											
												
													
														|  | 
 |  | +                    git clone ${REPOS.get((item))}
 | 
											
												
													
														|  | 
 |  | +                 """
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  | 
 |  | +          }
 | 
											
												
													
														|  |              sh "set +x && echo \"Update version of Apps to $toVersion\" > commit.txt"
 |  |              sh "set +x && echo \"Update version of Apps to $toVersion\" > commit.txt"
 | 
											
												
													
														|  |            }
 |  |            }
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
										
											
												
													
														|  | @@ -82,7 +86,7 @@ pipeline {
 | 
											
												
													
														|  |                }
 |  |                }
 | 
											
												
													
														|  |              }
 |  |              }
 | 
											
												
													
														|  |              catch (err) {
 |  |              catch (err) {
 | 
											
												
													
														|  | -              def STABLE_VERSION = sh (script: "set +x && cat $SWARM_GIT_NAME/tags/lab/analis-wineservice.stable-version" , returnStdout: true).trim()
 |  | 
 | 
											
												
													
														|  | 
 |  | +              def STABLE_VERSION = sh (script: "set +x && cat ${GIT_DIR.get((item))}/tags/lab/analis-wineservice.stable-version" , returnStdout: true).trim()
 | 
											
												
													
														|  |                TO_ROLLBACK.each { target, value ->
 |  |                TO_ROLLBACK.each { target, value ->
 | 
											
												
													
														|  |                  for (service_name in value) {
 |  |                  for (service_name in value) {
 | 
											
												
													
														|  |                    echo "Recoverig $service_name running in $target to $STABLE_VERSION"
 |  |                    echo "Recoverig $service_name running in $target to $STABLE_VERSION"
 | 
											
										
											
												
													
														|  | @@ -100,10 +104,12 @@ pipeline {
 | 
											
												
													
														|  |      stage("Update Tags") {
 |  |      stage("Update Tags") {
 | 
											
												
													
														|  |        steps {
 |  |        steps {
 | 
											
												
													
														|  |          script {
 |  |          script {
 | 
											
												
													
														|  | -          def STABLE_VERSION = sh (script: "set +x && cat $SWARM_GIT_NAME/tags/lab/analis-wineservice.stable-version" , returnStdout: true).trim()
 |  | 
 | 
											
												
													
														|  | -          def OLD_STABLE_VERSION = sh (script: "set +x && cat $SWARM_GIT_NAME/tags/lab/analis-wineservice.old-stable-version" , returnStdout: true).trim()
 |  | 
 | 
											
												
													
														|  | -          sh "set +x && echo $STABLE_VERSION > $SWARM_GIT_NAME/tags/lab/analis-wineservice.old-stable-version"
 |  | 
 | 
											
												
													
														|  | -          sh "set +x && echo $VERSION_TO_UPDATE > $SWARM_GIT_NAME/tags/lab/analis-wineservice.stable-version" 
 |  | 
 | 
											
												
													
														|  | 
 |  | +          ENAMES.each { item ->
 | 
											
												
													
														|  | 
 |  | +            def STABLE_VERSION = sh (script: "set +x && cat ${GIT_DIR.get((item))}/tags/lab/analis-wineservice.stable-version" , returnStdout: true).trim()
 | 
											
												
													
														|  | 
 |  | +            def OLD_STABLE_VERSION = sh (script: "set +x && cat ${GIT_DIR.get((item))}/tags/lab/analis-wineservice.old-stable-version" , returnStdout: true).trim()
 | 
											
												
													
														|  | 
 |  | +            sh "set +x && echo $STABLE_VERSION > ${GIT_DIR.get((item))}/tags/lab/analis-wineservice.old-stable-version"
 | 
											
												
													
														|  | 
 |  | +            sh "set +x && echo $VERSION_TO_UPDATE > ${GIT_DIR.get((item))}/tags/lab/analis-wineservice.stable-version"
 | 
											
												
													
														|  | 
 |  | +          }
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |        }
 |  |        }
 | 
											
												
													
														|  |      }
 |  |      }
 | 
											
										
											
												
													
														|  | @@ -111,17 +117,19 @@ pipeline {
 | 
											
												
													
														|  |        steps {
 |  |        steps {
 | 
											
												
													
														|  |          script {
 |  |          script {
 | 
											
												
													
														|  |            sh "cat commit.txt"
 |  |            sh "cat commit.txt"
 | 
											
												
													
														|  | -          sh "cat $SWARM_GIT_NAME/tags/lab/analis-wineservice.stable-version"
 |  | 
 | 
											
												
													
														|  | -          sh "cat $SWARM_GIT_NAME/tags/lab/analis-wineservice.old-stable-version"
 |  | 
 | 
											
												
													
														|  | -          withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
 |  | 
 | 
											
												
													
														|  | -            sh """cd $SWARM_GIT_NAME
 |  | 
 | 
											
												
													
														|  | -                  git add -A
 |  | 
 | 
											
												
													
														|  | -                  git config --global user.email "${JENKINS_MAIL}"
 |  | 
 | 
											
												
													
														|  | -                  git config --global user.name "Jenkins"
 |  | 
 | 
											
												
													
														|  | -                  git commit -F ../commit.txt
 |  | 
 | 
											
												
													
														|  | -                  GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
 |  | 
 | 
											
												
													
														|  | -                  git push origin master
 |  | 
 | 
											
												
													
														|  | -               """
 |  | 
 | 
											
												
													
														|  | 
 |  | +          ENAMES.each { item ->
 | 
											
												
													
														|  | 
 |  | +            sh "cat ${GIT_DIR.get((item))}/tags/lab/analis-wineservice.stable-version"
 | 
											
												
													
														|  | 
 |  | +            sh "cat ${GIT_DIR.get((item))}/tags/lab/analis-wineservice.old-stable-version"
 | 
											
												
													
														|  | 
 |  | +            withCredentials([sshUserPrivateKey(credentialsId: 'provision', keyFileVariable: 'GIT_SSH_KEY', passphraseVariable: '', usernameVariable: 'GIT_SSH_USERNAME')]) {
 | 
											
												
													
														|  | 
 |  | +              sh """cd ${GIT_DIR.get((item))}
 | 
											
												
													
														|  | 
 |  | +                    git add -A
 | 
											
												
													
														|  | 
 |  | +                    git config --global user.email "${JENKINS_MAIL}"
 | 
											
												
													
														|  | 
 |  | +                    git config --global user.name "Jenkins"
 | 
											
												
													
														|  | 
 |  | +                    git commit -F ../commit.txt
 | 
											
												
													
														|  | 
 |  | +                    GIT_SSH_COMMAND='ssh -i ${GIT_SSH_KEY} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' \
 | 
											
												
													
														|  | 
 |  | +                    git push origin master
 | 
											
												
													
														|  | 
 |  | +                 """
 | 
											
												
													
														|  | 
 |  | +            }
 | 
											
												
													
														|  |            }
 |  |            }
 | 
											
												
													
														|  |          }
 |  |          }
 | 
											
												
													
														|  |        }
 |  |        }
 |