使用 Jenkins 2 管道脚本配置一个简单的构建项目

这里我们将在 Jenkins 2 中创建一个 Groovy 管道来执行以下步骤:

  • 如果新代码已提交到我们的项目,则每 5 分钟验证一次
  • 来自 SCM repo 的结账代码
  • Maven 编译我们的 Java 代码
  • 运行我们的集成测试并发布结果

以下是我们将采取的步骤:

  1. 确保我们至少有一个 2.0 Jenkins 版本(你可以在页面的右下角查看),例如:

    StackOverflow 文档

  2. 在 Jenkins 主页上,单击 New Item

  3. 输入项目名称并选择管道

  4. Build Triggers 部分中,选择 Poll SCM 选项并添加以下 5 分钟的 CRON 计划:*/5 * * * *

  5. 在“ 管道” 部分中,从 SCM 中选择“ 管道脚本” 或“ 管道脚本”

  6. 如果你在上一步中从 SCM 选择了管道脚本,则现在需要在存储库 URL 中指定 SCM 存储库(Git, Mercurial, Subversion)URL,例如 http://github.com/example/example.git。你还需要在 example.git 存储库中指定 Groovy 脚本文件的脚本路径,例如 pipelines/example.groovy

  7. 如果以前单击过 Pipeline Script ,则直接在 Groovy 脚本窗口中复制以下 Groovy 代码; 如果从 SCM 中选择了 **Pipeline Script,**则复制到 example.groovy 中 ****

node('remote') {
    // Note : this step is only needed if you're using direct Groovy scripting
    stage 'Checkout Git project'
    git url: 'https://github.com/jglick/simple-maven-project-with-tests.git'
    def appVersion = version()
    if (appVersion) {
        echo "Building version ${appVersion}"
    }

    stage 'Build Maven project'
    def mvnHome = tool 'M3'
    sh "${mvnHome}/bin/mvn -B -Dmaven.test.failure.ignore verify"
    step([$class: 'JUnitResultArchiver', testResults: '**/target/surefire-reports/TEST-*.xml'])
}
def version() {
    def matcher = readFile('pom.xml') =~ '<version>(.+)</version>'
    matcher ? matcher[0][1] : null
}

在这里,你现在应该能够使用 Jenkins 2 Groovy 管道编译和测试你的第一个 Jenkins 项目。