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] }

混合和匹配不一樣的容器或其餘代理,在執行管道時能夠提供至關大的靈活性。代理


上一篇:運行多個步驟

下一篇:使用環境變量

相關文章
相關標籤/搜索