Jenkins Declarative Pipeline: How to inject properties

前端 未结 3 1362
逝去的感伤
逝去的感伤 2021-01-12 19:26

I have Jenkins 2.19.4 with Pipeline: Declarative Agent API 1.0.1. How does one use readProperties if you cannot define a variable to assign properties read to?

For e

3条回答
  •  [愿得一人]
    2021-01-12 19:35

    You can use the script step inside the steps tag to run arbitrary pipeline code.

    So something in the lines of:

    pipeline {
        agent any
        stages {
            stage('A') {
                steps {
                    writeFile file: 'props.txt', text: 'foo=bar'
                    script {
                        def props = readProperties file:'props.txt';
                        env['foo'] = props['foo'];
                    }
                }
            }
            stage('B') {
                steps {
                    echo env.foo
                }
            }
        }
    }
    

    Here I'm using env to propagate the values between stages, but it might be possible to do other solutions.

提交回复
热议问题