我有一个类似于文档示例的构建流程场景:两个作业,一个在另一个上运行。
b = build("job1") build("job2", param1: b.????)
My job1是一个Shell脚本,它从检出的git repositoy构建一个包,并打印出所构建包的版本。
job1
我需要从job1(解析输出?)中提取版本,并以某种方式将其用作的参数job2。如何做到这一点?请注意我在运行之前不知道版本job1。
job2
export在shell脚本构建步骤中简单使用的问题是,退出的变量在shell脚本退出时消失,它们不会传播到作业中。
export
使用EnvInject插件在您的构建中创建环境变量。如果您在构建过程中写出属性文件,则EnvInject可以读取该文件并在构建步骤中注入变量。属性文件具有简单的KEY=VALUE格式:
KEY=VALUE
MY_BUILD_VERSION=some_parsed_value
一旦在工作中设置了环境变量,就可以在Build Flow插件中提取该变量的值并在后续工作中使用它:
def version = build.environment.get( "MY_BUILD_VERSION" ) out.println String.format("Parameters: version: %s", version) build( "My Second Build", MY_BUILD_VERSION: version )