• 创建您的第一个Pipeline
    • 什么是 Jenkins Pipeline?
  • 快速开始示例
    • Java
    • Node.js / JavaScript
    • Ruby
    • Python
    • PHP

    创建您的第一个Pipeline

    什么是 Jenkins Pipeline?

    Jenkins Pipeline(或简称为 "Pipeline")是一套插件,将持续交付的实现和实施集成到 Jenkins 中。

    持续交付 Pipeline 自动化的表达了这样一种流程:将基于版本控制管理的软件持续的交付到您的用户和消费者手中。

    Jenkins Pipeline 提供了一套可扩展的工具,用于将“简单到复杂”的交付流程实现为“持续交付即代码”。Jenkins Pipeline 的定义通常被写入到一个文本文件(称为 Jenkinsfile )中,该文件可以被放入项目的源代码控制库中。[1]]

    Pipeline 和 Jenkinsfile 的更多相关信息,请参考用户手册中的相关链接 Pipeline 和Using a Jenkinsfile

    快速开始使用 Pipeline:

    • 将以下示例 复制到您的仓库中并命名为 Jenkinsfile

    • 单击Jenkins中的 New Item 菜单Classic UI left column

    • 为您的新工程起一个名字 (例如 My Pipeline) ,选择 Multibranch Pipeline

    • 单击 Add Source 按钮,选择您想要使用的仓库类型并填写详细信息.

    • 单击 Save 按钮,观察您的第一个Pipeline运行!

    您可能需要修改 Jenkinsfile 以便应用在您自己的项目中。尝试修改 sh 命令,使其与您本地运行的命令相同。

    在配置好 Pipeline 之后,Jenkins 会自动检测您仓库中创建的任何新的分支或合并请求,并开始为它们运行 Pipelines。

    继续学习 "执行多个步骤"

    快速开始示例

    下面是一个简单的 Pipeline 各种语言的复制和粘贴示例。

    Java

    Jenkinsfile (Declarative Pipeline)

    1. pipeline {
    2. agent { docker 'maven:3.3.3' }
    3. stages {
    4. stage('build') {
    5. steps {
    6. sh 'mvn --version'
    7. }
    8. }
    9. }
    10. }

    Toggle Scripted Pipeline(Advanced)

    Jenkinsfile (Scripted Pipeline)

    1. /* 需要Docker Pipeline插件 */
    2. node('docker') {
    3. checkout scm
    4. stage('Build') {
    5. docker.image('maven:3.3.3').inside {
    6. sh 'mvn --version'
    7. }
    8. }
    9. }

    Node.js / JavaScript

    Jenkinsfile (Declarative Pipeline)

    1. pipeline {
    2. agent { docker 'node:6.3' }
    3. stages {
    4. stage('build') {
    5. steps {
    6. sh 'npm --version'
    7. }
    8. }
    9. }
    10. }

    Toggle Scripted Pipeline(Advanced)

    Jenkinsfile (Scripted Pipeline)

    1. /* 需要 Docker Pipeline 插件 */
    2. node('docker') {
    3. checkout scm
    4. stage('Build') {
    5. docker.image('node:6.3').inside {
    6. sh 'npm --version'
    7. }
    8. }
    9. }

    Ruby

    Jenkinsfile (Declarative Pipeline)

    1. pipeline {
    2. agent { docker 'ruby' }
    3. stages {
    4. stage('build') {
    5. steps {
    6. sh 'ruby --version'
    7. }
    8. }
    9. }
    10. }

    Toggle Scripted Pipeline(Advanced)

    Jenkinsfile (Scripted Pipeline)

    1. /* 需要Docker Pipeline插件 */
    2. node('docker') {
    3. checkout scm
    4. stage('Build') {
    5. docker.image('ruby').inside {
    6. sh 'ruby --version'
    7. }
    8. }
    9. }

    Python

    Jenkinsfile (Declarative Pipeline)

    1. pipeline {
    2. agent { docker 'python:3.5.1' }
    3. stages {
    4. stage('build') {
    5. steps {
    6. sh 'python --version'
    7. }
    8. }
    9. }
    10. }

    Toggle Scripted Pipeline(Advanced)

    Jenkinsfile (Scripted Pipeline)

    1. /* 需要Docker Pipeline插件 */
    2. node('docker') {
    3. checkout scm
    4. stage('Build') {
    5. docker.image('python:3.5.1').inside {
    6. sh 'python --version'
    7. }
    8. }
    9. }

    PHP

    Jenkinsfile (Declarative Pipeline)

    1. pipeline {
    2. agent { docker 'php' }
    3. stages {
    4. stage('build') {
    5. steps {
    6. sh 'php --version'
    7. }
    8. }
    9. }
    10. }

    Toggle Scripted Pipeline(Advanced)

    Jenkinsfile (Scripted Pipeline)

    1. /* 需要 Docker Pipeline 插件 */
    2. node('docker') {
    3. checkout scm
    4. stage('Build') {
    5. docker.image('php').inside {
    6. sh 'php --version'
    7. }
    8. }
    9. }