Jenkins 用户文档(定义执行环境)

定义执行环境

在上一节中,你可能已经注意到每一个示例中的agent指令,agent指令告诉Jenkins在何处以及如何执行管道或其子集,正如你所料,全部管道都须要agentnode

在引擎下,agent致使一些事情发生:docker

  • 该块中包含的全部步骤都由Jenkins排队执行,只要执行程序可用,步骤就会开始执行。
  • 分配的工做区将包含从源代码控制中检出的文件以及管道的任何其余工做文件。

有几种方法能够定义在管道中使用的agent,对于本指南,咱们只关注使用短暂的Docker容器。shell

管道旨在轻松使用Docker镜像和容器在内部运行,这容许管道定义所需的环境和工具,而无需手动配置各类系统工具和代理依赖性,这种方法容许你使用几乎任何能够打包在Docker容器中的工具。segmentfault

有关更多代理规范选项,请参阅语法参考。ide

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent {
        docker { image 'node:7-alpine' }
    }
    stages {
        stage('Test') {
            steps {
                sh 'node --version'
            }
        }
    }
}

脚本管道(高级):工具

Jenkinsfile (Scripted Pipeline)
node {
    /* Requires the Docker Pipeline plugin to be installed */
    docker.image('node:7-alpine').inside {
        stage('Test') {
            sh 'node --version'
        }
    }
}

当管道执行时,Jenkins将自动启动指定的容器并执行其中定义的步骤:ui

[Pipeline] stage
[Pipeline] { (Test)
[Pipeline] sh
[guided-tour] Running shell script
+ node --version
v7.4.0
[Pipeline] }
[Pipeline] // stage
[Pipeline] }

混合和匹配不一样的容器或其余代理,在执行管道时能够提供至关大的灵活性。代理


上一篇:运行多个步骤

下一篇:使用环境变量

相关文章
相关标签/搜索