Browse Source

debug catch

Владимир Томишинец 5 years ago
parent
commit
605db9978b
1 changed files with 128 additions and 96 deletions
  1. 128 96
      jenkinsfile.get.and.sync.dict

+ 128 - 96
jenkinsfile.get.and.sync.dict

@@ -98,23 +98,23 @@ pipeline {
         stage ("HELIX dictionaries") {
             steps {
                 script {
-/*                    HELIXNAMES.each { key, value -> 
+                    HELIXNAMES.each { key, value -> 
                         echo "Get dictionaries for $key"
-                        sh """export DOCKER_HOST=tcp://$CLUSTER.open:2376 DOCKER_TLS_VERIFY=1 
+                        sh """export DOCKER_HOST=tcp://$OPEN_CLUSTER:2376 DOCKER_TLS_VERIFY=1 
                               docker run --rm -i -v analis-wineservice_analis_Files_netapp:/services/ ${WGET_IMAGE} \
                                 /bin/ash -c ' \
                                 rm -fv /services/$value.dir/*.xml; \
                                 wget -P /services/$value.dir --user="$value.user" --password="$value.pass" $FTP.helix'
                            """
                     }
-*/                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
-                        timeout(time: 20 as Integer, unit: 'SECONDS') {
+                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
+                        timeout(time: 20 as Integer, unit: 'MINUTES') {
                             HELIXNAMES.each { key, value -> 
                                 if (value.idtask) {
                                     echo "Syncing dictionaries for $key"
                                     def log_dir = value.dir.replace("Files", "LOGS")
                                     log_dir = log_dir.replace("/", "\\")
-                                    sh """export DOCKER_HOST=tcp://$CLUSTER.gost:2376 DOCKER_TLS_VERIFY=1
+                                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
                                           docker create --name sync -i \
                                             -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
                                             --network=labnetwork ${SYNC_IMAGE} -a prod_lab -e "$value.idtask" \
@@ -127,52 +127,61 @@ pipeline {
                             }
                         }
                     }
-                    sh """export DOCKER_HOST=tcp://$CLUSTER.gost:2376 DOCKER_TLS_VERIFY=1
-                          docker stop sync && docker rm sync
+                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                          docker stop sync || true && docker rm sync || true
                        """
                     
                 }
             } 
         }
-/*        stage ("INVITRO dictionaries") {
+        stage ("INVITRO dictionaries") {
             steps {
                 script {
                     INVITRONAMES.each { key, value ->
-                    echo "CleanUP files for $key"
-                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1 
-                          docker run --rm -i -v analis-wineservice_analis_Files_netapp:/services/ ${WGET_IMAGE} \
-                            /bin/ash -c ' \
-                            rm -fv /services/$value.dir/*.xml'
-                    """
-                    echo "Get dictionaries for $key"
-                    def log_dir = value.dir.replace("Files", "LOGS")
-                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
-                          docker create -i --name get \
-                            -v analis-wineservice_analis_Files_netapp:/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01 \
-                            --network=labnetwork -e DEBUG=false \
-                            -e LOGPATH=/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$log_dir \
-                            ${ANALIS_IMAGE} SyncRefInterval=1 LabSystems=$value.id /nocycles
-                          docker cp infodent.ini get:/opt/analis/infodent.ini
-                          docker cp analis.conf get:/opt/analis/analis.conf
-                          docker start -i get
-                          docker rm get
-                       """
-                    echo "Syncing $key"
-                    log_dir = log_dir.replace("/", "\\")
-                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
-                          docker create -i --name sync \
-                            -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
-                            --network=labnetwork --entrypoint='' \${SYNC_IMAGE} /bin/bash \
-                            -c 'cd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$value.dir; \
-                            cat \$(ls -1t InvitroGetExtendedProduct_*.xml | head -n1) > InvitroGetExtendedProduct.xml; \
-                            cat \$(ls -1t InvitroGetInfo_*.xml | head -n1) > InvitroGetInfo.xml; \
-                            /usr/bin/xvfb-run -a wine /opt/syncmanager/SyncManager.exe -a prod_lab -e "$value.idtask" \
-                            -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log" '
-                          docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
-                          docker start -i sync
-                          docker rm sync
-                       """
+                        echo "CleanUP files for $key"
+                        sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1 
+                              docker run --rm -i -v analis-wineservice_analis_Files_netapp:/services/ ${WGET_IMAGE} \
+                                /bin/ash -c ' \
+                                rm -fv /services/$value.dir/*.xml'
+                           """
+                        echo "Get dictionaries for $key"
+                        def log_dir = value.dir.replace("Files", "LOGS")
+                        sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                              docker create -i --name get \
+                                -v analis-wineservice_analis_Files_netapp:/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01 \
+                                --network=labnetwork -e DEBUG=false \
+                                -e LOGPATH=/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$log_dir \
+                                ${ANALIS_IMAGE} SyncRefInterval=1 LabSystems=$value.id /nocycles
+                              docker cp infodent.ini get:/opt/analis/infodent.ini
+                              docker cp analis.conf get:/opt/analis/analis.conf
+                              docker start -i get
+                              docker rm get
+                           """
                     }
+                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
+                        timeout(time: 20 as Integer, unit: 'MINUTES') {
+                            HELIXNAMES.each { key, value -> 
+                                echo "Syncing $key"
+                                log_dir = log_dir.replace("/", "\\")
+                                sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                                      docker create -i --name sync \
+                                        -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
+                                        --network=labnetwork --entrypoint='' \${SYNC_IMAGE} /bin/bash \
+                                        -c 'cd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$value.dir; \
+                                        cat \$(ls -1t InvitroGetExtendedProduct_*.xml | head -n1) > InvitroGetExtendedProduct.xml; \
+                                        cat \$(ls -1t InvitroGetInfo_*.xml | head -n1) > InvitroGetInfo.xml; \
+                                        /usr/bin/xvfb-run -a wine /opt/syncmanager/SyncManager.exe -a prod_lab -e "$value.idtask" \
+                                        -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log" '
+                                      docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
+                                      docker start -i sync
+                                      docker rm sync
+                                   """
+                            }
+                        }       
+                    }
+                sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                      docker stop sync || true && docker rm sync || true
+                   """    
                 }
             }
         }
@@ -180,44 +189,53 @@ pipeline {
             steps {
                 script {
                     ALFANAMES.each { key, value ->
-                    echo "CleanUP files for $key"
-                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1 
-                          docker run --rm -i -v analis-wineservice_analis_Files_netapp:/services/ ${WGET_IMAGE} \
-                            /bin/ash -c ' \
-                            rm -fv /services/$value.dir/*.xml'
-                       """
-                    echo "Get dictionaries for $key"
-                    def log_dir = value.dir.replace("Files", "LOGS")
-                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
-                          docker create -i --name get \
-                            -v analis-wineservice_analis_Files_netapp:/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01 \
-                            --network=labnetwork -e DEBUG=false \
-                            -e LOGPATH=/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$log_dir \
-                            ${ANALIS_IMAGE}:${TAG} SyncRefInterval=1 LabSystems=$value.id /nocycles
-                          docker cp infodent.ini get:/opt/analis/infodent.ini
-                          docker cp analis.conf get:/opt/analis/analis.conf
-                          docker start -i get
-                          docker rm get
-                       """
-                    echo "Syncing $key"
-                    log_dir = log_dir.replace("/", "\\")
+                        echo "CleanUP files for $key"
+                        sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1 
+                              docker run --rm -i -v analis-wineservice_analis_Files_netapp:/services/ ${WGET_IMAGE} \
+                                /bin/ash -c ' \
+                                rm -fv /services/$value.dir/*.xml'
+                           """
+                        echo "Get dictionaries for $key"
+                        def log_dir = value.dir.replace("Files", "LOGS")
+                        sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                              docker create -i --name get \
+                                -v analis-wineservice_analis_Files_netapp:/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01 \
+                                --network=labnetwork -e DEBUG=false \
+                                -e LOGPATH=/root/.wine/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$log_dir \
+                                ${ANALIS_IMAGE}:${TAG} SyncRefInterval=1 LabSystems=$value.id /nocycles
+                              docker cp infodent.ini get:/opt/analis/infodent.ini
+                              docker cp analis.conf get:/opt/analis/analis.conf
+                              docker start -i get
+                              docker rm get
+                           """
+                    }
+                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
+                        timeout(time: 20 as Integer, unit: 'MINUTES') {
+                            HELIXNAMES.each { key, value -> 
+                                echo "Syncing $key"
+                                log_dir = log_dir.replace("/", "\\")
+                                sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                                      docker create -i --name sync \
+                                        -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
+                                        --network=labnetwork --entrypoint='' \${SYNC_IMAGE} /bin/bash \
+                                        -c 'cd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$value.dir; \
+                                        cat \$(ls -1t AlfaLabDict_*.xml | head -n1) > Alfalabdict.xml; \
+                                        /usr/bin/xvfb-run -a wine /opt/syncmanager/SyncManager.exe -a prod_lab -e "$value.idtask" \
+                                        -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log" '
+                                      docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
+                                      docker start -i sync
+                                      docker rm sync
+                                   """
+                            }
+                        }
+                    }
                     sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
-                          docker create -i --name sync \
-                            -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
-                            --network=labnetwork --entrypoint='' \${SYNC_IMAGE} /bin/bash \
-                            -c 'cd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$value.dir; \
-                            cat \$(ls -1t AlfaLabDict_*.xml | head -n1) > Alfalabdict.xml; \
-                            /usr/bin/xvfb-run -a wine /opt/syncmanager/SyncManager.exe -a prod_lab -e "$value.idtask" \
-                            -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log" '
-                          docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
-                          docker start -i sync
-                          docker rm sync
+                          docker stop sync || true && docker rm sync || true
                        """
-                    }
                 }
             }
         }
-        stage ("Gemotest dictionaries") {
+/*        stage ("Gemotest dictionaries") {
             steps {
                 script {
                     echo "Get dictionaries for Gemotest"
@@ -227,17 +245,24 @@ pipeline {
                             rm -fv /services/$GEMOTEST.dir/*.xml; \
                             wget -P /services/$GEMOTEST.dir --user="$GEMOTEST.user" --password="$GEMOTEST.pass" $FTP.gemotest'
                        """
-                    echo "Syncing dictionaries for Gemotest"
-                    def log_dir = GEMOTEST.dir.replace("Files", "LOGS")
-                    log_dir = log_dir.replace("/", "\\")
+                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
+                        timeout(time: 20 as Integer, unit: 'MINUTES') {
+                            echo "Syncing dictionaries for Gemotest"
+                            def log_dir = GEMOTEST.dir.replace("Files", "LOGS")
+                            log_dir = log_dir.replace("/", "\\")
+                            sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                                  docker create -i --name sync \
+                                    -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
+                                    --network=labnetwork ${SYNC_IMAGE} -a prod_lab -e "$GEMOTEST.idtask" \
+                                    -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log"
+                                  docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
+                                  docker start -i sync
+                                  docker rm sync
+                               """
+                        }
+                    }
                     sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
-                          docker create -i --name sync \
-                            -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
-                            --network=labnetwork ${SYNC_IMAGE} -a prod_lab -e "$GEMOTEST.idtask" \
-                            -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log"
-                          docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
-                          docker start -i sync
-                          docker rm sync
+                          docker stop sync || true && docker rm sync || true
                        """      
                 }
             }
@@ -252,18 +277,25 @@ pipeline {
                             rm -fv /services/$CMD.dir/*.xml;
                             wget -P /services/$CMD.dir --user=$CMD.user --password=$CMD.pass $FTP.cmd'
                        """
-                    echo "Syncing dictionaries for CMD"
-                    def log_dir = CMD.dir.replace("Files", "LOGS")
-                    log_dir = log_dir.replace("/", "\\")
+                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
+                        timeout(time: 20 as Integer, unit: 'MINUTES') {
+                            echo "Syncing dictionaries for CMD"
+                            def log_dir = CMD.dir.replace("Files", "LOGS")
+                            log_dir = log_dir.replace("/", "\\")
+                            sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
+                                  docker create -i --name sync \
+                                    -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
+                                    --network=labnetwork ${SYNC_IMAGE} -a prod_lab -e "$CMD.idtask" \
+                                    -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log"
+                                  docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
+                                  docker start -i sync
+                                  docker rm sync
+                               """
+                        }
+                    }
                     sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
-                          docker create -i --name sync \
-                            -v analis-wineservice_analis_Files_netapp:/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/ \
-                            --network=labnetwork ${SYNC_IMAGE} -a prod_lab -e "$CMD.idtask" \
-                            -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$log_dir\\syncmanager_#.log"
-                          docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
-                          docker start -i sync
-                          docker rm sync
-                       """      
+                          docker stop sync || true && docker rm sync || true
+                       """     
                 }
             }
         }