Jenkins中自动构建项目的类型有很多,常用的有以下三种:

  1. 自由风格软件项目(FreeStyle Project)
  2. Maven项目(Maven Project)
  3. 流水线项目(Pipeline Project)

每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在实际开发中可以根据自己的需求和习惯来选择。(PS:个人推荐使用流水线类型,因为灵活度非常高)

自由风格项目构建

image-20211128150519764

配置源码管理,从gitlab拉取代码

image-20211128150609737

构建->添加构建步骤->Executor Shell

image-20211128150721424

1
2
3
echo "开始编译和打包"
mvn clean package
echo "编译和打包结束"

把项目部署到远程的Tomcat里面。

Jenkins本身无法实现远程部署到Tomcat的功能,需要安装Deploy to container插件实现

image-20211128150947849

下载安装成功后,重启Jenkins。接着创建Tomcat用户密码凭证

image-20211128151153703

接着回到我们的项目配置里构建后操作—>Deploy war/ear to a container

image-20211128151251223

image-20211128151530161

  • 填写号war所在目录target/*.war
  • 选择对应的Tomcat版本
  • 选择凭证
  • Tomcat URL

保存之后,点击立即构建

image-20211128151730952

构建完成~访问项目

image-20211128151917301

成功!!

演示持续集成

首先我们在IDEA中修改代码

image-20211128152229652

提交到Gitlab中

image-20211128152300951

接着我们只要在我们的项目中点击构建就行了。

image-20211128152349439

完成之后访问tomcat

image-20211128152415981

乱码是因为没有设置页面字符集。。持续集成成功!

Maven项目构建

安装Maven Integration插件

image-20211128152825457

接着我们在新建一个项目

image-20211128153119677

选择构建一个Maven项目

拉取代码和远程部署的过程和自由风格项目一样,只是构建部分不同

image-20211128153504207

后面的操作和前面的一致…

Pipeline流水线项目构建

1)概念 Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点 的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

2)使用Pipeline有以下好处(来自翻译自官方文档): 代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代其传送流 程。 持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。 可停止:Pipeline可接 收交互式输入,以确定是否继续执行Pipeline。 多功能:Pipeline支持现实世界中复杂的持续交付要 求。它支持fork/join、循环执行,并行执行任务的功能。 可扩展:Pipeline插件支持其DSL的自定义扩 展 ,以及与其他插件集成的多个选项。

3)如何创建 Jenkins Pipeline呢? Pipeline 脚本是由 Groovy 语言实现的,但是我们没必要单独去学习 Groovy Pipeline 支持两种语法:Declarative(声明式)和 Scripted Pipeline(脚本式)语法 Pipeline 也有两种创建方法:可以直接在 Jenkins 的 Web UI 界面中输入脚本;也可以通过创建一 个 Jenkinsfile 脚本文件放入项目源码库中(一般我们都推荐在 Jenkins 中直接从源代码控制(SCM) 中直接载入 Jenkinsfile Pipeline 这种方法)。

安装Pipeline插件

image-20211128155028619

未完待续。。。。