パイプラインをコードまたはJenkinsfile
として使用して、プロジェクトをjenkins1からjenkins2.xに移行しようとしています。
しかし、スニペットジェネレーターには、環境インジェクタープラグインをJenkinsfileのスクリプトに生成するオプションがありません。
誰でも助けることができますか?
特定のファイルからプロパティを読み取り、それらを環境変数として挿入したいとしますか?
もしそうなら、これは解決策です:
環境プロパティを含むファイルを作成します
次の内容のproject.properties
というプロパティファイルを作成します。
PROJECT_VERSION='1.4.34'
次に、パイプラインコードで、次のコードを追加する必要がありますファイルを読み取り、読み取り変数を環境変数として挿入できるようにするには:
node { load "${WORKSPACE}\\project.properties" // assuming that props file is in Jenkins Job's workspace echo "PROJECT VERSION: ${PROJECT_VERSION}" }
PROJECT_VERSION
を環境変数として読み取って挿入します結果:
あなたの質問にコメントしたかったのですが、私の評判の欠如が私を妨げています。
サポートされている手順のリストは次のとおりです: https://jenkins.io/doc/pipeline/steps/
一般に、他のプラグインはJavaスタイルの呼び出しを使用して使用できます。
つまり.
step([$class: 'classname', parametername: 'value'])
この例を使用してプロパティファイルを読み取り、パイプラインステージで使用しました。
node(){
file = readFile('params.txt')
prop=[:]
file.eachLine{ line ->
l=line.split("=")
prop[l[0]]=l[1]
}
withEnv(['MyVar1='+prop["MyVar1"],'MyVar2='+prop["MyVar2"],'MyVar3='+prop["MyVar3]]){
stage('RUN_TEST'){
echo env.MyVar1
echo env.MyVar2
echo env.MyVar3
sh"echo $MyVar1"
}
}
}