管道插件
您可以使用Pipeline Plugin(以前的workflow-plugin
)。
它带有许多示例,您可以按照本教程进行操作。
例如
// build
stage 'build'
...
// deploy
stage 'deploy'
...
// run tests in parallel
stage 'test'
parallel 'functional': {
...
}, 'performance': {
...
}
// promote artifacts
stage 'promote'
...
构建流程插件
您还可以使用构建流程插件。它简直太棒了 - 但它已被弃用(开发冻结)。
设置作业
为以下人员创建工作:
设置上游
在上游(此处build
)创建一个独特的工件,例如:
echo ${BUILD_TAG} > build.tag
归档build.tag
工件。
- 记录指纹以跟踪文件使用情况;如果任何作业复制相同的
build.tag
文件并记录指纹,您将能够跟踪父母。
promotion
配置为在作业成功时获得提升。
设置下游作业
- 我使用 2 个参数
PARENT_JOB_NAME
和PARENT_BUILD_NUMBER
使用Copy Artifact Plugin从上游build
作业复制工件
- 项目名称=
${PARENT_JOB_NAME}
- 哪个构建 =
${PARENT_BUILD_NUMBER}
- 要复制的工件 =
build.tag
记录指纹;这很关键。
设置下游推广作业
同上,建立上下游关系。它不需要任何构建步骤。您可以执行其他构建后操作,例如“嘿 QA,轮到您了”。
创建构建流程作业
// start with the build
parent = build("build")
parent_job_name = parent.environment["JOB_NAME"]
parent_build_number = parent.environment["BUILD_NUMBER"]
// then deploy
build("deploy")
// then your qualifying tests
parallel (
{ build("functional tests",
PARENT_BUILD_NUMBER: parent_build_number,
PARENT_JOB_NAME: parent_job_name) },
{ build("performance tests",
PARENT_BUILD_NUMBER: parent_build_number,
PARENT_JOB_NAME: parent_job_name) }
)
// if nothing failed till now...
build("promotion",
PARENT_BUILD_NUMBER: parent_build_number,
PARENT_JOB_NAME: parent_job_name)
// knock yourself out...
build("more expensive QA tests",
PARENT_BUILD_NUMBER: parent_build_number,
PARENT_JOB_NAME: parent_job_name)
祝你好运。