使用 Jenkins 2 管道脚本配置一个简单的构建项目
这里我们将在 Jenkins 2 中创建一个 Groovy 管道来执行以下步骤:
- 如果新代码已提交到我们的项目,则每 5 分钟验证一次
- 来自 SCM repo 的结账代码
- Maven 编译我们的 Java 代码
- 运行我们的集成测试并发布结果
以下是我们将采取的步骤:
-
确保我们至少有一个 2.0 Jenkins 版本(你可以在页面的右下角查看),例如:
-
在 Jenkins 主页上,单击 New Item
-
输入项目名称并选择管道
-
在 Build Triggers 部分中,选择 Poll SCM 选项并添加以下 5 分钟的 CRON 计划:
*/5 * * * *
-
在“ 管道” 部分中,从 SCM 中选择“ 管道脚本” 或“ 管道脚本”
-
如果你在上一步中从 SCM 选择了管道脚本,则现在需要在存储库 URL 中指定 SCM 存储库(Git, Mercurial, Subversion)URL,例如
http://github.com/example/example.git
。你还需要在 example.git 存储库中指定 Groovy 脚本文件的脚本路径,例如pipelines/example.groovy
-
如果以前单击过 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 项目。