使用Jenkins管道,在执行脚本(Jenkinsfile)之前,需要在作业目录-prop.properties
中创建文件它可能具有以下内容(文件的内容应在UI的Job配置中指定):
URL=https://app.example.com
TIMEOUT=6000
请问您如何建议?
可能的问题:
为什么无法在管道脚本中完成? -因为应该从UI指定属性。
为什么需要创建文件而不是运行带有特定参数的构建脚本? -因为它可能具有1到20个属性。对于每个作业,将指定不同的属性。
为什么需要创建文件而不使用操作系统的环境变量? -因为在一台计算机上可能同时运行不同的作业,并且每个作业的属性不同。
答案 0 :(得分:0)
这是作业参数的用途。在作业配置中(通过UI),您可以指定不同的参数及其类型:
或像这样在您的Jenkinsfile本身中(在这种情况下,它们将在第一次构建后添加到作业配置中):
parameters {
string(
name: 'URL',
description: 'The URL to target.'
)
string(
name: "TIMEOUT",
description: 'How long to wait for the "foo" operation to time out.'
)
}
然后,当用户通过Jenkins UI启动构建时,系统会提示他们在构建之前提供这些参数。如果您希望构建会自动启动(例如通过GitHub挂钩),请确保也提供默认值。
然后,在您的Jenkins文件中,可以像这样使用它们:
sh "foo --timeout ${TIMEOUT}"
或
sh "foo --timeout ${params.TIMEOUT}"
即使在同一台计算机上,它们也不会在不同版本之间共享。