Jenkins 使用 Pipeline 构建部署 Spring Boot 应用

前言

在本文开始前可以先看看这篇文章:
Jenkins + Gitlab + Maven + Tomcat 持续集成部署 SpringBoot 应用实践,除了 Jenkins 构建项目的方式不一样之外,其他配置都一样。

关于 pipeline 的简介和 pipeline 的两种语法模型的区别可以看这篇文章: Pipeline 声明式和脚本式的主要区别

Spring Boot 项目准备

这里创建了一个简单的 Spring Boot 项目,功能简单,运行后会提供一个可访问的 index 页面。结构图如下:

在这里插入图片描述

项目根路径有个 Jenkinsfile,关于该项目的构建与部署步骤等任务都被记录在该文件中,随着项目一起进行版本化迭代。

Jenkinsfile 里填写 pipeline 如下,这里采用的是声明式语法,这里分为 3 个 stage 分别对应代码 checkout,编译构建以及项目部署三个阶段,最后会有 email 推送每次构建的结果。

pipeline {
    agent any
    stages {
        stage('拉取代码') {
            steps {
                checkout([$class: 'GitSCM', branches: [[name: '*/${branch}']],
                doGenerateSubmoduleConfigurations: false, extensions: [], submoduleCfg: [],
                userRemoteConfigs: [[credentialsId: 'Jenkins_SSH_Key', url:
                'git@192.168.43.208:yekongle-test/ci-test.git']]])
            }
        }
        stage('编译构建') {
            steps {
                sh label: '', script: 'mvn clean package'
            }
        }
        stage('项目部署') {
            steps {
                deploy adapters: [tomcat8(credentialsId: 'Tomcat-Auth', path: '', url: 'http://192.168.43.206:8080')], contextPath: null,
                war: 'target/*.war'
            }
        }
    }
    post {
        always {
            emailext(
                subject: '构建通知:${PROJECT_NAME} - Build # ${BUILD_NUMBER} -${BUILD_STATUS}!',
                body: '${FILE,path="email.html"}',
                to: 'yekongle@126.com'
            )
        }
    }
}

同样将该项目推送到本地gitlab 上并配置好 webhook。

在这里插入图片描述

Jenkins 配置 pipeline

首先去插件中心安装 pipeline 插件

在这里插入图片描述

安装完插件后创建一个新 item 时可以看到可以选择一个 pipeline 类型的项目。
在这里插入图片描述

然后关于 pipeline 的配置可以参考下图,其中 pipeline 的 执行代码会引用到 Spring Boot 项目根路径的 Jenkinsfile。

在这里插入图片描述

构建并部署

保存 pipeline 配置后,可以通过提交代码到 master 分支触发构建任务,也可以直接在 Jenkins 手动启动一次 build up.

在这里插入图片描述

观察上图,pipeline 任务可以以可视化视图的形式展示出来,可以直观地看到每一个 stage 的执行时间和执行结果。
在这里插入图片描述

执行成功后会将项目 deploy 到 tomcat 容器,点击访问

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值