jenkins构建项⽬之pipeline基础教程
⼀、pipeline 简介
p ipeline ,简单来说,就是⼀套运⾏在 jenkins 上的⼯作流框架。将原来独⽴运⾏于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的⼯作。⼆、pipeline 有哪些好处
代码:pipeline 以代码的形式实现,通常被检⼊源代码控制,使团队能够编辑,审查和迭代其传送流程。 持久:⽆论是计划内的还是计划外的服务器重启,pipeline 都是可以恢复的。
可停⽌:pipeline 可接受交互式输⼊,以确定是否继续执⾏ pipeline。
多功能:pipeline ⽀持复杂的持续交付⾓球。⽀持 fork/join ,循环执⾏,并⾏执⾏任务的功能。
多扩展:pipeline 插件⽀持其 DSL的⾃定义扩展,以及与其他插件集成的多个选项。
pipeline 脚本由 Groovy 语⾔实现。 pipeline ⽀持两种语法:Declarative(声明式脚本)| Scripted Pipeline (脚本式语法)adsl分离器
pipeline ⽀持两种创建⽅法:可以直接在 jenkins - GUI 界⾯中创建。也可以创建在项⽬源代码根⽬录当中。
安装 pipline 插件:Pipeline
四、声明式语法
pipeline { :开头声明此脚本是 Declarative式脚本
agent any :模块⼀,此处填写构建所需的环境,代理,docker环境,kubernetes环境、
maven、jdk⼯具等等
stages:模块⼆,阶段记录所有步骤,代表构建项⽬的阶段开头
s tage:阶段步骤,⼀个 stages 中包含多个 stage,对应拉取代码、编译打包、部署发布等等 steps:步骤实现,具体实现该步骤的命令,如何通过编写来实现步骤
code:拉取代码
build project:编译打包
publish project:部署上线
⼊门语法案例:
cpichpipeline {
agent any //环境maven、jdk等
stages { //项⽬构建
stage('pull code') { //拉取代码
steps { //具体实施步骤
echo 'pull code' // 拉取代码命令
}
}
stage('build project') { // 编译打包
steps { //具体实施步骤
echo 'build project' // 打包命令
}
}
stage('publish project') { // 部署上线
steps { //具体实施步骤
echo 'publish project' // 部署命令
}
}
}
电极扁钢
}
五、脚本⽰语法
node:声明此脚本是Scripted Pipeline
d ef mvnHome:指定脚本运⾏所需要的各种环境、⼯具等
s tage:指定不同的构建步骤,如拉取代码,编译打包,部署上线等,可以有多个 stage
共鸣管测声速node {
def mvnHome
stage('pull code') { //步骤⼀,拉取代码
echo "pull code"
}
stage('Build project') { //步骤⼆,构建打包
echo "build project"
}
stage('publish project') { //步骤三,部署上线
echo "publish project"
}
}
六、流⽔线语法
⽚段⽣成器:可以⾃动⽣产拉取、打包、部署的代码。直接粘贴到 pipeline即可使⽤。
Declarative Directive Generator:声明式指令⽣成器。
Declarative Online Documentation:声明式指令官⽅⽂档
⽚段⽣成器部署上线⽰例:1、拉取代码:check out from version control
2、编译打包 sh: Shell Script
调浮标
3、部署上线 deploy: Deploy war/ear to a container
4、⽔线阶段视图:
流⽔线脚本管理 Jenkinsfile
毛发收集器流⽔线脚本有两种写⼊管理⽅法:
1、在 Jenkins - Gui 界⾯⾥写
2、存放在 gitlab代码层,与 l 同⽬录。命名为 Jenkinsfile ( j 必须⼤写 ) ⽂件,填写流⽔线执⾏步骤。代码层的 Jenkinsfile ,⽅便管理,⽅便备份,不会因为 jenkins宕机丢失整个流⽔线配置。
然后在 jenkins - GUI 界⾯通过 pipeline SCM 连接到 gitlab仓库,获取 Jenkinsfile ⽂件
到此这篇关于jenkins 构建项⽬之 pipeline基础教程的⽂章就介绍到这了,更多相关jenkins pipeline基础内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!