首页 > 其他 > 详细

jenkins pipeline 持续部署

时间:2020-05-28 22:27:39      阅读:140      评论:0      收藏:0      [点我收藏+]

部署流程

开发环境Jenkins的job进行编译-打包-build成镜像-推送到镜像私有仓库-部署开发环境-(开发自测)-自测通过-提测。
版本管理:
技术分享图片

构建的过程:
技术分享图片
技术分享图片
开发环境通过验证,则点击“Yes”,没有则Abort。点击Yes后会进行提测通知:
技术分享图片

配置

技术分享图片
技术分享图片
技术分享图片

pipeline脚本

pipeline {
    agent any
    //定义变量
   environment {
       BUILD_USER = ""
   }
   //编译需要的工具
    tools {
        maven ‘maven‘
        jdk   ‘java8‘
    }
    
    // 分支选择,结合构建参数BRANCH(插件Git Parameter)
    parameters {
        gitParameter branchFilter: ‘origin/(.*)‘, defaultValue: ‘master‘, name: ‘BRANCH‘, type: ‘PT_BRANCH‘
    }
    stages {
        stage(‘Checkout‘) {
            steps {
                echo ‘开始拉取代码.....‘
                echo ‘${params.BRANCH}‘
                git branch: "${params.BRANCH}", credentialsId: ‘7367665a-9730-40be-a6f0-1de413f5ea29‘, url: ‘http://gitlab.vonedao.com/vonechain-tenant/vonedao-tenant-web.git‘
            }
        }
        stage(‘Build‘) {
            steps {
                echo ‘开始执行打包操作.......‘
                sh ‘mvn clean install -Dmaven.test.skip=true -U‘
            }
        }
        stage(‘Build Docker Image‘) {
            steps {
                echo ‘Build Docker Image‘
                //开发环境默认构建镜像版本号
                sh ‘mvn -f ./$JOB_NAME/pom.xml  docker:stop docker:remove docker:build docker:push‘
            }
        }
        stage(‘Deploy Dev‘) {
            steps {
                echo ‘开始发布开发环境 .......‘
                sh ‘/var/jenkins_home/piplineshell/deploy_dev.sh‘
              
            }
        }
        stage(‘提测‘) {

            input {
                message "是否将镜像打tag到测试?"
                ok "Yes"
            }
            steps {
               //提测时,自定义版本号,规则是前面三位按照项目版本走,只增加第四位
                sh ‘mvn versions:set -DnewVersion=${NewVersion}‘
                sh ‘mvn versions:update-child-modules‘
                sh ‘mvn clean install -Dmaven.test.skip=true -U ‘
                sh ‘mvn -f ./$JOB_NAME/pom.xml  docker:stop docker:remove docker:build docker:push‘
                sh ‘rm -rf $WORKSPACE/$JOB_NAME/*‘

                sh ‘/var/jenkins_home/piplineshell/version_tag.sh‘
               //获取构建的账户,需要安装插件:build-user-vars插件
                wrap([$class: ‘BuildUser‘]) {
                   script {
                       BUILD_USER = "${env.BUILD_USER}"
                       echo "${BUILD_USER}" 
                       //进行企业微信消息发送
                       sh ‘/var/jenkins_home/piplineshell/sendmessage.sh‘
                   }
				}
            }
        }
    } 
    
}

企业微信推送

在企业微信群添加一个机器人,会生成一个webhook地址。

curl ‘https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=60f7XXXXXXXXXXXX19‘    -H ‘Content-Type: application/json‘    -d ‘
{
    "msgtype": "markdown",
    "markdown": {
        "content": "项目<font color=\"warning\">vonedao-tenant-message-biz</font>已经提测,请相关同事注意。\n> 提测镜像:<font color=\"comment\">docker.vonedao.com/vonedao-cs/vonedao-tenant-message-biz:1.0.0.4</font>\n> 该版本提交信息:<font color=\"comment\">[Changes](http://jenkins.vonedao.com/job/vonedao-tenant-message-biz/9/)</font>\n> 配置参考:<font color=\"comment\">http://nacos.vonedao.com/nacos/配置文件:vonedao-tenant-message-biz-dev.yml</font>\n> 提测申请人:<font color=\"warning\">chenshanzi</font>\n>  测试环境部署:<font color=\"comment\">确保nacos配置已经同步,请点击:[发布测试环境](http://jenkins.vonedao.com/view/%E6%B5%8B%E8%AF%95%E7%8E%AF%E5%A2%83/job/sit-vonedao/)</font>"
    }
}‘

jenkins pipeline 持续部署

原文:https://www.cnblogs.com/zoujiaojiao/p/12983380.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!