CICD Pipeline

pipeline {
    agent none
    stages {
        stage('初始化'){
                agent { label "10.10.0.84" }
                steps {
                    script {
                      wrap([$class: 'BuildUser']) {
                        buildName "#${BUILD_NUMBER}_${BUILD_USER}"
                      }
                    }
                    cleanWs()
                    }
            }
        stage('成品库拉取源码') {
                agent { label "10.10.0.84" }
                steps {
                   sh '''
                   #! /bin/bash
                    #Edited on Dec 27, 2019
                    BUILD_ID=DONTKILLME
                    mkdir -p /root/srm/jenkins/{latest,backup}
                    new_dir=/root/srm/jenkins/latest
                    backup_dir=/root/srm/jenkins/backup
                    cd ${new_dir}
                    #backup latest dir
                    tar -zcvf latest.`date +%Y%m%d%H%M%S`.tar.gz ./*
                    mv *.tar.gz ${backup_dir}
                    find ${backup_dir} -name "latest*" -mtime +7 | xargs rm -rf
                    #retrive backend packages
                    wget http://10.10.0.18/scm/scm_pre.tar.gz
                    tar -zxvf scm_pre.tar.gz
                    chmod 755 ${new_dir}/*.jar
                    rm -rf scm_pre.tar.gz
                    #retrive frontend packages
                    rm -rf dist.tar.gz dist
                    wget http://10.10.0.18/scm/dist.tar.gz
                    tar -zxvf dist.tar.gz
                    #clean up old backup packages
                    find ${backup_dir} -type f -name *.tar.gz -mtime +3 | xargs rm -rf
                   '''
                }
            }
        stage('部署') { 
                agent { label "10.10.0.84" }
                steps {
                    sh '''
                    #! /bin/bash
                    #the part of codes were provided by Qingdao saiwei
                    export JENKINS_NODE_COOKIE=dontKillMe
                    srmsh=/root/srm/jenkins/script/savor-start.sh
                    lastdir=/root/srm/jenkins/latest
                    pubdir=/root/srm/jars
                    for m in `echo $APP |  sed "s/,/\t/g"`
                    do
                      case $m in
                        frontend)
                          #frontend release
                          rm -rf /var/www/scm/dist
                          cp -a /root/srm/jenkins/latest/dist* /var/www/scm/
                          systemctl reload nginx
                          ;;
                        center)
                          ###center
                          rm -f ${pubdir}/savor-center.jar
                          cp -a ${lastdir}/savor-center.jar ${pubdir}
                          /bin/bash ${srmsh} ${pubdir}/savor-center.jar pre 128 128
                          ;;
                        gate)
                          ##gate
                          rm -f ${pubdir}/savor-gate.jar
                          cp -a ${lastdir}/savor-gate.jar ${pubdir}
                          /bin/bash ${srmsh} ${pubdir}/savor-gate.jar pre 128 512
                          ;;
                        task)
                          ###task
                          rm -f ${pubdir}/savor-task.jar
                          cp -a ${lastdir}/savor-task.jar ${pubdir}
                          /bin/bash ${srmsh} ${pubdir}/savor-task.jar pre 256 1024
                          ;;
                      esac
                    done
                    '''
                }
        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值