Jenkins 用戶文檔(建立你的第一個管道)

建立你的第一個管道

什麼是Jenkins管道?

Jenkins管道(或簡稱「管道」)是一套插件,支持實現和集成持續交付管道到Jenkins中。php

持續交付管道是將軟件從版本控制直接傳遞給用戶和客戶的過程的自動化表達。node

Jenkins管道提供了一組可擴展的工具,用於「做爲代碼」對簡單到複雜的交付管道進行建模,Jenkins管道的定義一般寫入文本文件(稱爲Jenkinsfile),而後將其檢入項目的源代碼控制存儲庫。python

有關管道和什麼是Jenkinsfile的更多信息,請參閱用戶手冊的相應管道和使用Jenkinsfile部分。golang

快速開始使用管道:docker

  • 將如下示例之一複製到你的存儲庫中,並將其命名爲Jenkinsfile

clipboard.png

  • 單擊Jenkins中的新建任務菜單。
  • 爲新項目提供名稱(例如My Pipeline),而後選擇多分支流水線
  • 單擊增長源按鈕,選擇要使用的存儲庫類型並填寫詳細信息。
  • 單擊Save按鈕,觀察你的第一個管道運行!

你可能須要修改其中一個示例Jenkinsfile,以使其與你的項目一塊兒運行,嘗試修改sh命令以運行與在本地機器上運行相同的命令。npm

設置管道後,Jenkins將自動檢測在你的存儲庫中建立的任何新分支或Pull請求,並開始爲它們運行管道。segmentfault

快速入門示例

下面是一些使用各類語言的簡單管道的簡單複製和粘貼示例。ruby

Java

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent { docker { image 'maven:3.3.3' } }
    stages {
        stage('build') {
            steps {
                sh 'mvn --version'
            }
        }
    }
}

腳本管道(高級):maven

Jenkinsfile (Scripted Pipeline)
/* Requires the Docker Pipeline plugin */
node('docker') {
    checkout scm
    stage('Build') {
        docker.image('maven:3.3.3').inside {
            sh 'mvn --version'
        }
    }
}

Node.js / JavaScript

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent { docker { image 'node:6.3' } }
    stages {
        stage('build') {
            steps {
                sh 'npm --version'
            }
        }
    }
}

腳本管道(高級):ide

Jenkinsfile (Scripted Pipeline)
/* Requires the Docker Pipeline plugin */
node('docker') {
    checkout scm
    stage('Build') {
        docker.image('node:6.3').inside {
            sh 'npm --version'
        }
    }
}

Ruby

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent { docker { image 'ruby' } }
    stages {
        stage('build') {
            steps {
                sh 'ruby --version'
            }
        }
    }
}

腳本管道(高級):

Jenkinsfile (Scripted Pipeline)
/* Requires the Docker Pipeline plugin */
node('docker') {
    checkout scm
    stage('Build') {
        docker.image('ruby').inside {
            sh 'ruby --version'
        }
    }
}

Python

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent { docker { image 'python:3.5.1' } }
    stages {
        stage('build') {
            steps {
                sh 'python --version'
            }
        }
    }
}

腳本管道(高級):

Jenkinsfile (Scripted Pipeline)
/* Requires the Docker Pipeline plugin */
node('docker') {
    checkout scm
    stage('Build') {
        docker.image('python:3.5.1').inside {
            sh 'python --version'
        }
    }
}

PHP

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent { docker { image 'php' } }
    stages {
        stage('build') {
            steps {
                sh 'php --version'
            }
        }
    }
}

腳本管道(高級):

Jenkinsfile (Scripted Pipeline)
/* Requires the Docker Pipeline plugin */
node('docker') {
    checkout scm
    stage('Build') {
        docker.image('php').inside {
            sh 'php --version'
        }
    }
}

Go

Jenkinsfile (Declarative Pipeline)
pipeline {
    agent { docker { image 'golang' } }
    stages {
        stage('build') {
            steps {
                sh 'go version'
            }
        }
    }
}

腳本管道(高級):

Jenkinsfile (Scripted Pipeline)
/* Requires the Docker Pipeline plugin */
node('docker') {
    checkout scm
    stage('Build') {
        docker.image('go').inside {
            sh 'go version'
        }
    }
}

上一篇:入門

下一篇:運行多個步驟

相關文章
相關標籤/搜索