Jenkins自动集成之路-实战应用编

在上一编文章里已经把Jenkins安装好里,通过docker安装在阿里云GFS-2服务器上里,参考(Jenkins自动集成之路-搭建部署编),接下来将正式开始使用。

目的

为团队项目工程配置好自动构建任务,利用Jenkins依据Gitlab的代码提交触发自动构建任务,并自动发布到研发环境到集成环境里。

大致步骤
push(开发人员提交代码)–> Gitlab通知Jenkins --> Jenkins去Gitlab拉取最新代码,启动构建任务 -->
Build(构建打包)–> Test(测试) --> Deliver发布部署 --> Jenkins通知Gitlab构建结果。

任务清单

  • 后端服务项目自动构建
  • 前端项目自动构建
  • 前端JsClientAPI自动生成

基础环境

Jenkins,Git,Gitlab,Docker,JDK11,Maven
安装部署参考《基础环境安装部署》

Jenkins流水线Pipeline实践

实践说明

  1. 当Gitlab项目的develop分支发生Push事件时,进行自动构建。
  2. 使用Maven构建打包应用。
  3. 使用Maven测试应用。
  4. 使用docker构建应用容器镜像。
  5. 使用docker部署运行应用。

建Jenkinsfile文件

在Java项目根目录建里jenkins目录,结构如:jenkins/scripts
jenkins/目录放主Jenkinsfile文件
jenkins/scripts目录放sh脚本文件

Jenkinsfile文件

pipeline {
    agent {
        docker {
            image '172.xx.209.xx:8082/jenkins/maven:3.6.3-jdk-11'
            args '-v /data/maven/.m2:/root/.m2'
        }
    }
    environment { 
        TARTGET_APP_NAME = 'my-app'
        TARTGET_APP_VERSION = '1.0.0'
    }
    stages {
        stage('Build') { 
            steps {
                sh 'mvn clean install'
            }
        }
        stage('Test') {
            steps {
                sh 'mvn test'
            }
            post {
                always {
                    junit 'target/surefire-reports/*.xml'
                }
            }
        }
        stage('Deliver') { 
            steps {
                sh 'echo "开始构建app的镜像"'
                sh 'pwd'
                sh 'docker build -t ${TARTGET_APP_NAME}:${TARTGET_APP_VERSION} ./${TARTGET_APP_NAME}/'
                script {
                    try {
                        sh 'echo "停止之前的app docker 容器"'
                        sh 'docker stop ${TARTGET_APP_NAME}${TARTGET_APP_VERSION}'
                        sh 'echo "删除之前的app docker 容器"'
                        sh 'docker rm ${TARTGET_APP_NAME}${TARTGET_APP_VERSION}'
                    }catch (err){}
                }
                sh 'echo "开始运行新的app docker 容器"'
                sh 'docker run -d --name ${TARTGET_APP_NAME}${TARTGET_APP_VERSION} -p 18001:18001 -e env=dev -e SPRING_PROFILES_ACTIVE=dev -e JAVA_OPTS="-Xmx2049m -Xms2049m" ${TARTGET_APP_NAME}:${TARTGET_APP_VERSION}'
            }
        }
    }
}

在Jenkins中配置你的Gitlab的Access Token

在你的Gitlab里先设置Token
在这里插入图片描述
在Jenkins的首页 -> 凭据 -> 系统 -> 全局凭据 -> 添加凭据, 把上面 GitLab 中生成的 access token 填进去
在这里插入图片描述
在Jenkins的首页 -> 系统管理 -> 系统设置 -> Gitlab 配置项, 填入 GitLab 相关的配置, 后面配置项目时用到。
在这里插入图片描述

在Jenkins中创建你的流水线项目

  1. 创建新项目
    回到Jenkins主界面,New Item ----> create new jobs
    在这里插入图片描述

  2. 项目命名,选择流水线Pipeline类型任务

    • 在 Enter an item name 域中,为新的流水线项目指定名称(例如 simple-java-maven-app)。
    • 向下滚动并单击 Pipeline,然后单击页面末尾的 OK 。
      在这里插入图片描述
  3. 配置任务参数

    • 在General页签里选择,并设置参数
      设置项目的git地址
      在这里插入图片描述
      设置构建触发器,当有push时触发,该步骤重要获取两个参数webhook URL 和Secret tonken,用于到Gitlab里配置
      在这里插入图片描述
      在这里插入图片描述
  • 配置任务脚本
  • 点击页面顶部的流水线 Pipeline 选项卡,向下滚动到 Pipeline 部分。
  • 选择 Pipeline script from SCM 选项。此选项指示Jenkins从源代码管理(SCM)仓库获取你的流水线。
  • 在 SCM 域中,选择 Git。
  • 在 Repository URL 域中,填写项目到git地址,选择git的账号密码
  • 点击 Save 保存你的流水线项目。
    在这里插入图片描述

接下来就是配置Gitlab里,首先打开你的Gitlab界面,去到项目页面到配置界面,进入Integrations配置界面,将webhook URL 和Secret tonken配置进去,并保存,如下图
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值