Jenkins Pipeline 介绍 | jenkins pipeline stage
前一段时间推动整个Team都转向了GoModules,最近一段时间的工作主要是在推动自动化构建与测试。我们最后选定的方案是Jenkins+MultibranchPipelines,本文将会简单介绍一下JenkinsPipeline以及常用的技巧。Pipeline是什么JenkinsPipeline实际上是基于Groovy实现的CI/CD领域特定语言(DSL),主要分为两类,一类叫做DeclarativePipeline,一类叫做ScriptedPipeline。DeclarativePipeline体验上更接近于我们熟知的travisCI的travis.yml,通过声明自己要做的事情来规范流程,形如:pipeline{agentanystages{stage(Build){steps{//}}stage(...
前一段时间推动整个 Team 都转向了 Go Modules,最近一段时间的工作主要是在推动自动化构建与测试。我们最后选定的方案是 Jenkins + Multibranch Pipelines,本文将会简单介绍一下 Jenkins Pipeline 以及常用的技巧。
Pipeline 是什么Jenkins Pipeline 实际上是基于 Groovy 实现的 CI/CD 领域特定语言(DSL),主要分为两类,一类叫做 Declarative Pipeline,一类叫做 Scripted Pipeline。
Declarative Pipeline 体验上更接近于我们熟知的 travis CI 的 travis.yml,通过声明自己要做的事情来规范流程,形如:
pipeline { agent any stages { stage(Build) { steps { // } } stage(Test) { steps { // } } stage(Deploy) { steps { // } } } }而 Scripted Pipeline 则是旧版本中 Jenkins 支持的 Pipeline 模式,主要是写一些 groovy 的代码来制定流程:
node { stage(Build) { // } stage(Test) { // } stage(Deploy) { // } }一般情况下声明式的流水线已经可以满足我们的需要,只有在复杂的情况下才会需要脚本式流水线的参与。
过去大家经常在 Jenkins 的界面上直接写脚本来实现自动化,但是现在更鼓励大家通过在项目中增加 Jenkinsfile 的方式把流水线固定下来,实现 Pipeline ...