Pipeline
跳到导航
跳到搜索
Jenkins Pipeline 支持两种语法
Jenkins Pipeline 支持两种语法,一种 Declarative Pipeline(声明式),一种 ScriptedPipeline(脚本式)。 声明式的 Pipeline 限制用户使用严格的预选定义的结构,是一种声明 式的编程模型,对比脚本式的 Pipeline 学习起来更加简单; 脚本式的 Pipeline 限制比较少,结构和语法的限制由 Groovy 本身决定,是一种命令式的编程模型。 所以我们学习使用声明式的方式编写 jenkinsfile。 一般来说 jenkinsfile 会被放在代码库的根目录下。 当然也可以在 Web 页面定义。 下面是两种不同方式的 jenkinsfile 示例 Jenkinsfile (声明式) 复制代码 pipeline { agent any stages { stage('Build') { steps { echo 'Building..' } } stage('Test') { steps { echo 'Testing..' } } stage('Deploy') { steps { echo 'Deploying....' } } } } 前面我们说过,声明式的Pipeline有严格的预定义格式结构,有固定的格式,外层必须是pipeline{}, 紧接着是 agent 就是节点node ,agent也是固定的,pipeline紧跟着进来 一定是agent 参考上面的格式 后面的any是任何节点还是其中一个节点,指定某一个节点是自己指定,通过标签自己来指定节点 指示 Jenkins 分配一个执行器和工作空间来执行下面的 Pipeline, stages和steps是申明式Jenkinsfile必须的,stages是一个个阶段,所有的stage必须要定义在stages里, stages(‘’) 括号里面是名称,这个阶段是什么名称,stages这个名称不能重复,同一个stage名称只能有一个 每一个stage下的 step 要定义在一个 steps 里,stages里面包含了step,具体的执行步骤都写在step里面 ,一行一个,可以写多行 Jenkinsfile( 脚本式 ) 复制代码 node { stage('Build') { // } stage('Test') { // } stage('Deploy') { // } } 在脚本式 jenkinsfile 里,你可以定义一个 node 或者多个 node 块,然后在 node 块里 定义你的 stage,在 stage 里定义你的 step 即可