Jenkins中自动构建项目的类型很多,常用有以下三种:
- l自由风格软件项目(freestyle project)
- 项目(Maven Project)
- 流水线项目(Pipline Project)
每种类型的构建都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在实际开发中可以根据自己的需求和习惯来选择。(推荐流水线项目,比较灵活)
1.演示自由风格软件项目
上传代码->拉取代码->编译->打包-部署
上传代码
1.1 eclipse上传代码至gitlab
点击项目名右键,Team->Share Project
1.2 提交项目到本地仓库
此时项目处于待提交状态
点击项目名右键->Team->Commit
点击commit后,项目就上传到本地仓库了
1.3 gitlab上建仓(略)
1.4 右键new->team->Remote->push
点击next
点击finish
拉取代码、编译
1.5 jenkins创建自由风格项目,拉取代码,构造构建
1.6项目配置
执行构建脚本
保存,点击“Build Now”,测试是否编译成功
1.8 部署到tomcat
安装Deploy to container插件
Jenkins本身无法实现远程部署到tomcat的功能,需要安装Deploy to container
连通tomcat,项目配置
保存,点击“Build Now”
这是一个jsp文件
浏览器访问
2.maven项目
2.1 安装maven intergration插件
2.2 创建maven项目
2.3 配置
跟自由风格项目一样
这里是跟自由风格项目的区别
跟自由风格项目一样
点击“Build Now”
3.Pipeline流水线项目构建
3.1概念
Pipeline,简单来说,就是一套运行在jenkins上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。
3.2使用Pipeline有以下好处
代码:Pipeline以代码的形式实现,通常被检入源代码控制,使团队能够编辑,审查和迭代 其传送流程。
持久:无论是计划内的还是计划外的服务器重启,Pipeline都是可恢复的。
可停止:Pipeline可接收交互式输入,以确定是否继续执行Pipeline。
多功能:Pipeline支持实现世界中复杂的持续交付要求,它支持fork/join、循环执行,并行 执行任务的功能。
可扩展:Pipeline插件支持其DSL的自定义扩展,以及与其他插件集成的多个选项。
3.3如何创建jenkins Pipeline
- pipeline脚本由Groovy语言实现的
- 支持两种语言:Declarative(声明式)和scripted pipeline(脚本式)语法
- 也有两种创建方法:
可以直接在jenkins的web ui界面输入脚本
可以通过创建一个jenkinsfile脚本放入项目源码库中,一般都推荐在jenkins中直接从 源代码控制(SCM)中直接载入jenkinsfile pipeline这种方法
3.4 安装pipeline插件
安装插件略,创建pipeline项目
3.5 编写脚本/拉取、编译、部署
方法一:可以直接在jenkins的web ui界面输入脚本
可以点击“流水线语法”生成脚本
拉取代码
编译代码
部署到tomcat
将上面生成的脚本复制过来
注意:stage步骤名不能重复
方法二:可以通过创建一个jenkinsfile脚本放入项目源码库中
在项目根目录下,创建jenkinsfile文件,将脚本复制进去
项目配置