詹金斯在执行管道之前创建属性文件

时间:2020-01-09 09:41:48

标签: jenkins jenkins-pipeline

使用Jenkins管道,在执行脚本(Jenkinsfile)之前,需要在作业目录-prop.properties

中创建文件

它可能具有以下内容(文件的内容应在UI的Job配置中指定):

URL=https://app.example.com
TIMEOUT=6000

请问您如何建议?

可能的问题:

为什么无法在管道脚本中完成? -因为应该从UI指定属性。

为什么需要创建文件而不是运行带有特定参数的构建脚本? -因为它可能具有1到20个属性。对于每个作业,将指定不同的属性。

为什么需要创建文件而不使用操作系统的环境变量? -因为在一台计算机上可能同时运行不同的作业,并且每个作业的属性不同。

1 个答案:

答案 0 :(得分:0)

这是作业参数的用途。在作业配置中(通过UI),您可以指定不同的参数及其类型:

Jenkins job parameters

或像这样在您的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}"

即使在同一台计算机上,它们也不会在不同版本之间共享。