Pipeline是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂发布流程
实用场景:将多个Jenkins构建任务轻松集成。
Pipeline的实现方式是一套Groovy DSL,任何发布流程都可以表述为一段Groovy脚本
https://www.cnblogs.com/mq0036/p/16146065.html
https://blog.csdn.net/qq_46373211/article/details/126718825
https://zhuanlan.zhihu.com/p/577292972
pipeline {
agent any
stages {
stage('Hello') {
steps {
echo 'Hello World'
}
}
}
}
#vscode
安装插件
1.code-groovy
2.jenkinsfile Support
#Eclipse
Jenkins Editor
pipeline {
agent any #none,label,node,docker
stages {
stage('Hello') {
steps {
echo 'Hello World'
}
}
}
}
agent
在任何可用的agent 上执行Pipeline或stage。例如:agent any
none
当在pipeline块的顶层使用none时,将不会为整个Pipeline运行分配全局agent ,每个stage部分将需要包含其自己的agent部分。
label
使用提供的label标签,在Jenkins环境中可用的代理上执行Pipeline或stage。例如:agent { label ‘my-defined-label’ }
node
agent { node { label ‘labelName’ } },等同于 agent { label ‘labelName’ },但node允许其他选项(如customWorkspace)。
docker
定义此参数时,执行Pipeline或stage时会动态供应一个docker节点去接受Docker-based的Pipelines。docker还可以接受一个args,直接传递给docker run调用。例如:agent { docker ‘maven:3-alpine’ }
stages
包含一个或多个stage的序列,Pipeline的大部分工作在此执行。建议stages至少包含至少一个stage指令,用于连接各个交付过程,如构建,测试和部署等。
steps
steps包含一个或多个在stage块中执行的step序列。