Browse Source

delete Jenkinsfile

Владимир Томишинец 5 years ago
parent
commit
3d7a92eec6
1 changed files with 0 additions and 309 deletions
  1. 0 309
      jenkinsfile.get.and.sync.dict

+ 0 - 309
jenkinsfile.get.and.sync.dict

@@ -1,309 +0,0 @@
-def CLUSTER = [ gost: 'iru-swarm1.infoclinica.lan', open: 'iru-swarm1-open.infoclinica.ru' ]
-def FTP = [ 
-    HELIX: 'ftp://ex2.helix.ru/Dictionaries/*',
-    CMD: 'ftp://cmd.infoclinica.lan/nsi/*',
-    GEMOTEST: 'ftp://ftp.gemotest.ru/services/*'
-    ]
-def HELIXNAMES = [
-/*    HelixMSK: [ id: '990010000000015', idtask: '990010000000017', dir: 'HelixMSK/Files/Dictionaries', user: 'TestDictMsk', pass: 'kO3R20eK' ],
-    clinicAskona: [ id: '990010000004940', dir: 'HelixMSK/Files/Dictionaries/Askona', user: 'MskPMK', pass: 'QdFQIF68' ],
-    clinicBZ: [ id: '990010000001881', dir: 'HelixMSK/Files/Dictionaries/BZ', user: 'MskClinicLMS', pass: '1npZfzex' ],
-    clinicDR: [ id: '990010000002008', dir: 'HelixMSK/Files/Dictionaries/DR', user: 'MskDoctorRyadom', pass: 'iqBn0gIa' ],
-    clinicMskDomNaTverskoy: [ id: '990010000013837', dir: 'HelixMSK/Files/Dictionaries/DomNaTverskoy', user: 'MskDomNaTverskoy', pass: '83gQlPPL' ],
-    clinicISH: [ id: '990010000013838', dir: 'HelixMSK/Files/Dictionaries/ISH', user: 'MskInvMedHol', pass: '1Uw76Ef#' ],
-    clinicKomsomolsky: [ id: '990010000013842', dir: 'HelixMSK/Files/Dictionaries/komsomolsky', user: 'MskAlfa', pass: 'iQjw0OWh' ],
-    clinicMedscan: [ id: '990010000013843', dir: 'HelixMSK/Files/Dictionaries/Medscan', user: 'MskMedscan', pass: 'd#8Ug@7E' ],
-    clinicMedekspert: [ id: '990010000013840', dir: 'HelixMSK/Files/Dictionaries/medekspert', user: 'MskMedexpertP', pass: 'wA3My!0J' ],
-    clinicMedlux: [ id: '990010000013413', dir: 'HelixMSK/Files/Dictionaries/Medlux_mostfarm', user: 'MskMedlux', pass: 'Zn8hede7' ],
-    clinicMskProfMedLab: [ id: '990010000013850', dir: 'HelixMSK/Files/Dictionaries/profmedlab', user: 'MskProfMedLab', pass: 'The)ais3' ],
-    clinicRGSU: [ id: '990010000013852', dir: 'HelixMSK/Files/Dictionaries/RGSU', user: 'MskRGSU', pass: 'TPnYb3OT' ],
-    clinicSova: [ id: '990010000004941', dir: 'HelixMSK/Files/Dictionaries/Sova', user: 'MskSova', pass: 'ehCPz9mx' ],
-    clinicTemp: [ id: '990010000013661', dir: 'HelixMSK/Files/Dictionaries/Temp', user: 'MskTemp', pass: 'Hoch9is%' ],
-    HelixEKB: [ id: '990010000000044', idtask: '990010000000019', dir: 'HelixEKB/Files/Dictionaries', user: 'TestDictEkb', pass: 'Fp5LMnKW' ],
-    clinicBZ_EKB: [ id: '990010000013445', dir: 'HelixEKB/Files/Dictionaries/BZ_Ekb', user: 'EkbBudZdorov', pass: '0Qk&8Ko%' ],
-    HelixNSK: [ id: '990010000000045', idtask: '990010000000022', dir: 'HelixNSK/Files/Dictionaries', user: 'TestDictNor', pass: 'jq9xd6sY' ],
-*/    HelixPNZ: [ id: '990010000000046', idtask: '990010000000021', dir: 'HelixPNZ/Files/Dictionaries', user: 'TestDictPnz', pass: 'IgK~66Ff' ],
-    clinicDavinchigrup: [ id: '990010000013845', dir: 'HelixPNZ/Files/Dictionaries/Davinchigrup', user: 'MskDaVinchi', pass: 'uGh9re)u' ],
-    clinicMotherhood: [ id: '990010000013673', dir: 'HelixPNZ/Files/Dictionaries/Materinstvoidetstvo', user: 'MskMaterinstvoIDetst', pass: 'ZCPuzbw8' ],
-    clinicSadko: [ id: '990010000013846', dir: 'HelixPNZ/Files/Dictionaries/Sadko', user: 'MskSadko', pass: 'VOTdPC3A' ],
-/*    HelixHBR: [ id: '990010000000047', idtask: '990010000000018', dir: 'HelixHBR/Files/Dictionaries', user: 'TestDictHab', pass: 'idTf4WkE' ],
-    HelixSPB: [ id: '990010000000013', idtask: '990010000000013', dir: 'HelixSPB/Files/Dictionaries', user: 'TestDictSpb', pass: '8686Giq0' ],
-    clinicBaltMed: [ id: '990010000002030', dir: 'HelixSPB/Files/Dictionaries/BaltMed', user: 'SpbMServ', pass: '1tMi8jRz' ],
-    clinicONA: [ id: '990010000004936', dir: 'HelixSPB/Files/Dictionaries/ONA', user: 'ona', pass: 'svn2CD3KkL' ],
-    clinicRAN: [ id: '990010000001898', dir: 'HelixSPB/Files/Dictionaries/RAN', user: 'ran', pass: '7vFal2JBsC' ],
-// Неверный логин, хотя по через консоль доступ есть    clinicSPom: [ id: '990010000013379', dir: 'HelixSPB/Files/Dictionaries/SkorayaPom', user: 'SpbSkorayaPom', pass: '8$c%Vo46' ],
-    clinicStatusGracy: [ id: '990010000013855', dir: 'HelixSPB/Files/Dictionaries/StatusGracy', user: 'SpbStatGracP', pass: 'Qb#4Ir*1' ],
-    HelixNSB: [ id: '990010000000029', idtask: '990010000000020', dir: 'HelixNSB/Files/Dictionaries', user: 'TestDictNvsb', pass: '511bLPm3' ],
-    clinicMedisPlus: [ id: '990010000013458', dir: 'HelixNSB/Files/Dictionaries/MedisPlusKlinika', user: 'SpbKlinikaPskov', pass: '@3Sj*7St' ],
-    clinicProfMed: [ id: '990010000004939', dir: 'HelixNSB/Files/Dictionaries/ProfMed', user: 'SpbProfMedUfa', pass: 'djZ6rA1T' ],
-*/
-]
-def INVITRONAMES = [ 
-    InvitroMSK: [ id: '990010000000002', idtask: '990010000000002', dir: 'InvitroMSK/Files/Dictionaries' ],
-    InvitroCHLB: [ id: '990010000000043', idtask: '990010000000032', dir: 'InvitroCHLB/Files/Dictionaries' ],
-    InvitroSMR: [ id: '990010000000041', idtask: '990010000000031', dir: 'InvitroSMR/Files/Dictionaries' ],
-    InvitroSPB: [ id: '990010000000042', idtask: '990010000000030', dir: 'InvitroSPB/Files/Dictionaries' ],
-//    InvitroNSB: [ id: '990010000000033', idtask: '990010000000033', dir: 'InvitroNSB/Files/Dictionaries' ],
-]
-def ALFANAMES = [ 
-//    DNKOM: [ id: '990010000000018', idtask: '990010000000023', dir: 'DNKOM/Files/Dictionaries' ], 
-//    Dialab: [ id: '990010000000019', idtask: '990010000000024', dir: 'Dialab/Files/Dictionaries' ], 
-//    LabQuest: [ id: '990010000000049', idtask: '990010000000034', dir: 'LabQuest/Files/Dictionaries' ], 
-    Arhimed: [ id: '990010000000055', idtask: '990010000000041', dir: 'Arhimed/Files/Dictionaries' ],
-]
-// def GEMOTEST = [ id: '990010000000014', idtask: '990010000000014', dir: 'GemoTest/Files/Dictionaries', user: 'a_info', pass: 'Ainfo150916' ]
-// def LITEH = [ id: '990010000000024', idtask: '990010000000026' ]
-// def NAKFF = [ id: '990010000000004', idtask: '990010000000004' ]
-def CMD = [ id: '990010000000003', idtask: '990010000000003', dir: 'CMD/Files/Dictionaries', user: 'SDSIntegration', pass: 'RK5CLTr77' ]
-//def KDL = [ id: '990010000000006', idtask: '990010000000001' ]
-
-def TAG = ''
-pipeline {
-    agent {
-        label "swarm"
-    }
-    environment {
-        OPEN_CLUSTER='iru-swarm1-open.infoclinica.ru'
-        GOST_CLUSTER='iru-swarm1.infoclinica.lan'
-        JENKINS_MAIL='jenkins.dev@sdsys.ru'
-        SMTP_SERVER='mail.sdsys.ru'
-        DOCKER_CERT_PATH='/run/secrets/swarm'
-        WGET_IMAGE='inutano/wget'
-        SYNC_IMAGE='registry.infoclinica.ru:5000/syncmanager:i686.f30-0.2'
-        ANALIS_IMAGE='registry.infoclinica.ru:5000/lab/analis-wineservice'
-        SYNC_SERVER_IMAGE='registry.infoclinica.ru:5000/syncserver:x64.f30-0.6'
-        STACK_DEPLOY_REPO='ssh://git@git.sdsys.ru:8022/labportal/stack-deploy.git'
-        mailto='admin@sdsys.ru'
-    }
-    stages {
-        stage ("Git pull stack-deploy REPO") {
-            steps {
-                script {
-                    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 ${STACK_DEPLOY_REPO}
-                        '''
-                    }
-                    TAG = sh (script:  "cat ${WORKSPACE}/stack-deploy/tags/lab/analis-wineservice.build-version" , returnStdout: true)
-                    container_operate(GOST_CLUSTER)
-                    container_operate(OPEN_CLUSTER)
-                    sh """export DOCKER_HOST=tcp://$GOST_CLUSTER:2376 DOCKER_TLS_VERIFY=1
-                          docker pull ${SYNC_SERVER_IMAGE}
-                       """
-                }
-            }
-        }
-        stage ("HELIX dictionaries") {
-            steps {
-                script {
-                    HELIXNAMES.each { key, value -> 
-                        echo "Get dictionaries for $key"
-                        get_ftp(value.dir, value.user, value.pass, FTP.HELIX, OPEN_CLUSTER, WGET_IMAGE)
-                    }
-                    HELIXNAMES.each { key, value -> 
-                        if (value.idtask) {
-                            container_operate(GOST_CLUSTER, [ 'sync' ])
-                            catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
-                                timeout(time: 10 as Integer, unit: 'MINUTES') {
-                                    def dir = value.dir
-                                    sh """printf '#!/bin/bash\ncd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$dir\n\
-                                          exec "/usr/bin/xvfb-run" "-a" "wine" "/opt/syncserver/SyncServer.exe" "\$@"' > entrypoint.sh
-                                          chmod +x entrypoint.sh
-                                       """
-                                    echo "Syncing dictionaries for $key"
-                                    def log_dir = value.dir.replace("Files", "LOGS")
-                                    syncServer(log_dir, value.idtask, SYNC_SERVER_IMAGE, GOST_CLUSTER)
-                                }
-                            }
-                        }
-                    }
-                }
-            } 
-        }
-        stage ("INVITRO dictionaries") {
-            steps {
-                script {
-                    INVITRONAMES.each { key, value ->
-                        echo "CleanUP files for $key"
-                        cleanUP(value.dir, GOST_CLUSTER, WGET_IMAGE)
-                        echo "Get dictionaries for $key"
-                        def log_dir = value.dir.replace("Files", "LOGS")
-                        get_http(log_dir, value.id, ANALIS_IMAGE, TAG, GOST_CLUSTER)
-                    }
-                    INVITRONAMES.each { key, value -> 
-                        if (value.idtask) {
-                            container_operate(GOST_CLUSTER, [ 'sync' ])
-                            catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
-                                timeout(time: 10 as Integer, unit: 'MINUTES') {
-                                    def dir = value.dir
-                                    sh """printf '#!/bin/bash\ncd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$dir\n\
-                                          cat \$(ls -1t InvitroGetExtendedProduct_*.xml | head -n1) > InvitroGetExtendedProduct.xml\n\
-                                          cat \$(ls -1t InvitroGetInfo_*.xml | head -n1) > InvitroGetInfo.xml\n\
-                                          exec "/usr/bin/xvfb-run" "-a" "wine" "/opt/syncserver/SyncServer.exe" "\$@"' > entrypoint.sh
-                                          chmod +x entrypoint.sh
-                                       """
-                                    echo "Syncing dictionaries for $key"
-                                    def log_dir = value.dir.replace("Files", "LOGS")
-                                    syncServer(log_dir, value.idtask, SYNC_SERVER_IMAGE, GOST_CLUSTER)
-                                }
-                            }       
-                        }
-                    }
-                }
-            }
-        }
-       stage ("ALFA dictionaries") {
-            steps {
-                script {
-                    ALFANAMES.each { key, value ->
-                        echo "CleanUP files for $key"
-                        cleanUP(value.dir, GOST_CLUSTER, WGET_IMAGE)
-                        echo "Get dictionaries for $key"
-                        def log_dir = value.dir.replace("Files", "LOGS")
-                        get_http(log_dir, value.id, ANALIS_IMAGE, TAG, GOST_CLUSTER)
-                    }
-                    ALFANAMES.each { key, value -> 
-                        if (value.idtask) {
-                            catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
-                                timeout(time: 10 as Integer, unit: 'MINUTES') {
-                                    def dir = value.dir
-                                    sh """printf '#!/bin/bash\ncd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$dir\n\
-                                          cat \$(ls -1t AlfaLabDict_*.xml | head -n1) > AlfaLabDict.xml\n\
-                                          exec "/usr/bin/xvfb-run" "-a" "wine" "/opt/syncserver/SyncServer.exe" "\$@"' > entrypoint.sh
-                                          chmod +x entrypoint.sh
-                                       """
-                                    echo "Syncing $key"
-                                    container_operate(GOST_CLUSTER, [ 'sync' ])
-                                    def log_dir = value.dir.replace("Files", "LOGS")
-                                    syncServer(log_dir, value.idtask, SYNC_SERVER_IMAGE, GOST_CLUSTER)
-                                }
-                            }
-                        }
-                    }
-                }
-            }
-        }
-/*        stage ("Gemotest dictionaries") {
-            steps {
-                script {
-                    echo "Get dictionaries for Gemotest"
-                    get_ftp(GEMOTEST.dir, GEMOTEST.user, GEMOTEST.pass, FTP.GEMOTEST, OPEN_CLUSTER, WGET_IMAGE)
-                    def dir = GEMOTEST.dir
-                    sh """printf '#!/bin/bash\ncd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$dir\n\
-                          exec "/usr/bin/xvfb-run" "-a" "wine" "/opt/syncserver/SyncServer.exe" "\$@"' > entrypoint.sh
-                          chmod +x entrypoint.sh
-                       """
-                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
-                        timeout(time: 10 as Integer, unit: 'MINUTES') {
-                            echo "Syncing dictionaries for Gemotest"
-                            container_operate(GOST_CLUSTER, [ 'sync' ])
-                            def log_dir = GEMOTEST.dir.replace("Files", "LOGS")
-                            syncServer(log_dir, GEMOTEST.idtask, SYNC_SERVER_IMAGE, GOST_CLUSTER)
-                        }
-                    }
-                }
-            }
-        }
-*/        stage ("CMD dictionaries") {
-            steps {
-                script {
-                    echo "Get dictionaries for CMD"
-                    get_ftp(CMD.dir, CMD.user, CMD.pass, FTP.CMD, GOST_CLUSTER, WGET_IMAGE)
-                    def dir = CMD.dir
-                    sh """printf '#!/bin/bash\ncd /root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$dir\n\
-                          exec "/usr/bin/xvfb-run" "-a" "wine" "/opt/syncserver/SyncServer.exe" "\$@"' > entrypoint.sh
-                          chmod +x entrypoint.sh
-                       """                  
-                    catchError(buildResult: 'SUCCESS', stageResult: 'FAILURE') {
-                        timeout(time: 10 as Integer, unit: 'MINUTES') {
-                            echo "Syncing dictionaries for CMD"
-                            container_operate(GOST_CLUSTER, [ 'sync' ])
-                            def log_dir = CMD.dir.replace("Files", "LOGS")
-                            syncServer(log_dir, CMD.idtask, SYNC_SERVER_IMAGE, GOST_CLUSTER)
-                        }
-                    }
-                }
-            }
-        }
-    }
-  
-    post {
-        always {
-            echo "CleaningUp work directory"
-            deleteDir()
-        }
-        failure {
-            mail charset: 'UTF-8',
-                subject: "Jenkins Dictionaries sync ERROR",
-                mimeType: 'text/html',
-                to: "${mailto}",
-                body: "<b>ATTENTION!!!</b> <b><br> Jenkins job failed.\n\n <b><br>Project Name:</b> ${env.JOB_NAME} <b><br>\nBuild Number:</b> ${env.BUILD_NUMBER} <b><br>\nURL Build:</b> ${RUN_DISPLAY_URL}"
-        }
-        success {
-            mail charset: 'UTF-8',
-                subject: "Jenkins Dictionaries sync SUCCESS",
-                mimeType: 'text/html',
-                to: "${mailto}",
-                body: "<b>Congradulations!!!</b> <b><br> Jenkins job succefully finished.\n\n <b><br>Project Name:</b> ${env.JOB_NAME} <b><br>\nBuild Number:</b> ${env.BUILD_NUMBER} <b><br>\nURL Build:</b> ${RUN_DISPLAY_URL}"
-        }
-    }
-}
-def sync(String dir, String idtask, String IMAGE, String CLUSTER) {
-        sh """export DOCKER_HOST=tcp://$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 ${IMAGE} -a prod_lab -e "$idtask" \
-                -logfile "\\\\\\samba.infoclinica.lan\\smartdelta01\\$dir\\syncmanager_#.log"
-              docker cp infodent.ini sync:/opt/syncmanager/infodent.ini
-              docker start -i sync
-              docker rm sync
-           """
-}
-def syncServer(String dir, String idtask, String IMAGE, String CLUSTER) {
-        sh """export DOCKER_HOST=tcp://$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 ${IMAGE} -a prod_lab -e syncrefcode=$idtask \
-                logpath=/root/wine32/dosdevices/unc/samba.infoclinica.lan/smartdelta01/$dir /nocycles
-              docker cp infodent.ini sync:/opt/syncserver
-              docker cp sync.conf sync:/opt/syncserver
-              docker cp entrypoint.sh sync:/opt
-              docker start -i sync
-              docker rm sync
-           """
-}
-def get_http(String dir, String id, String IMAGE, String TAG, String CLUSTER) {
-        sh """export DOCKER_HOST=tcp://$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/$dir \
-                ${IMAGE}:${TAG} SyncRefInterval=1 LabSystems=$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
-           """
-}
-def get_ftp(String dir, String user, String pass, String ftp, String CLUSTER, String IMAGE) {
-        sh """export DOCKER_HOST=tcp://$CLUSTER:2376 DOCKER_TLS_VERIFY=1
-              docker run --rm -i -v analis-wineservice_analis_Files_netapp:/services/ ${IMAGE} \
-                /bin/ash -c ' \
-                rm -fv /services/$dir/*.xml;
-                wget -P /services/$dir --user="$user" --password="$pass" $ftp'
-           """
-}
-def cleanUP(String dir, String CLUSTER, String IMAGE) {
-        sh """export DOCKER_HOST=tcp://$CLUSTER:2376 DOCKER_TLS_VERIFY=1 
-              docker run --rm -i -v analis-wineservice_analis_Files_netapp:/services/ ${IMAGE} \
-                /bin/ash -c ' \
-                rm -fv /services/$dir/*.xml'
-           """
-}
-def container_operate(String CLUSTER, name = [ 'get', 'sync' ]) {
-    for (i in name) {
-        sh """export DOCKER_HOST=tcp://$CLUSTER:2376 DOCKER_TLS_VERIFY=1
-          docker stop $i || true && docker rm $i || true
-       """
-    }
-}