没有合适的资源?快使用搜索试试~ 我知道了~
首页jenkins Pipline 庖丁解牛.doc
jenkins Pipline 语法讲解及小案例,通过pipeline进行CI/CD的一个简单模型. 在jenkins官方文档是这样介绍pipeline的:Jenkins Pipeline (or simply "Pipeline") is a suite of plugins which supports implementing and integrating continuous delivery pipelinesinto Jenkins.它的意思就是pipeline是一套jenkins官方提供的插件,它可以用来在jenkins中实现和集成连续交付。
资源详情
资源评论
资源推荐

jenkins Pipline 庖丁解牛
一.Pipline 语法讲解
1. Pipline 的组成
Jenkins Pipeline(或简称为“Pipeline”,大写字母为“P”)是一套插件,支持在 Jenkins 中实现
和集成连续交付管道
一个持续交付(CD)管道是一直到你的用户和客户的过程正从版本控制软件的自动化表达。
对软件的每次更改(在源代码管理中提交)都会在发布的过程中经历一个复杂的过程。此
过程涉及以可靠且可重复的方式构建软件,以及通过多个测试和部署阶段推进构建的软件
(称为“构建”)。
Pipeline 提供了一组可扩展的工具,用于通过管道域特定语言(DSL)语法 “作为代码”对简
单到复杂的传输管道进行建模 。
Jenkins 管道的定义被写入一个文本文件(称为 a Jenkinsle),该文件 又可以提交给项目的
源代码控制存储库。 这是“作为代码的管道”的基础; 将 CD 管道视为应用程序的一部分,以
便像任何其他代码一样进行版本控制和审查。
2. 为什么要使用 pipeline ?
Pipeline 五大特性
代码: Pipeline 以代码的形式实现,通常被检入源代码控制,使团队能够编辑、审查和迭代
其 CD 流程。
可持续性:Jenklins 重启或者中断后都不会影响 Pipeline Job。
停顿:Pipeline 可以选择停止并等待任工输入或批准,然后再继续 Pipeline 运行。
多功能:Pipeline 支持现实世界的复杂 CD 要求,包括 fork/join 子进程,循环和并行执行工
作的能力
可扩展:Pipeline 插件支持其 DSL 的自定义扩展以及与其他插件集成的多个选项。

3. Pipeline 的语法
- Declarave 声明式
- Scripted pipeline 脚本式

4. Pipline Declarave 格式
pipeline {
agent any
stages {
stage('Build') {
steps {
sh 'echo Build'
}
}
stage('Test') {
steps {
sh 'echo Test'
}
}
stage('Deploy') {
steps {
sh 'echo Deploy'
}
}
}
}
pipeline:代表整条流水线,包含整条流水线的逻辑。
• stages 部分:流水线中多个 stage 的容器。stages 部分至少包含一个 stage。
• stage 部分:阶段,代表流水线的阶段。每个阶段都必须有名称。本例中,build 就是此阶
段的名称。
• steps 部分:代表阶段中的一个或多

5. Scripted Pipeline
Scripted Pipeline 对语法的要求比较宽松,顶层可以是 node,也可以是 stage。node 可以嵌
套 stage,stage 反过来也可以嵌套 node。典型的脚本式 Pipeline 语法如下:
node { //node 可以指定 label 例如 node ('label_name') {}
stage("Build") {
sh 'echo Building...'
}
stage("Test"){
sh 'echo Tesng...'
}
}

6. Pipline Declarave 参数详解
pipeline {
agent any
opons {
buildDiscarder(logRotator(numToKeepStr: '1'))
meout(me: 1, unit: 'HOURS')
}
parameters {
string(name: 'example', defaultValue: 'this is example', descripon: 'this is descripon')
}
environment {
NODEJS_HOME = "${tool 'nodejs'}"
PATH="${env.NODEJS_HOME}/bin:${env.PATH}"
}
tools {
maven 'maven-3' //这里是全局工具配置的名字,要对应
nodejs "nodejs" //这里是全局工具配置的名字,要对应
gradle "Gradle" //这里是全局工具配置的名字,要对应
}
stages {
stage('Example') {
steps {
echo "$NODEJS_HOME"
echo 'Hello World'
echo "Hello ${params.example}"
剩余22页未读,继续阅读
















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0