web-dev-qa-db-ja.com

パイプラインを使用してjenkinsFIlejenkins2.xのビルドプロセスプラグインにInject環境変数を呼び出す方法

パイプラインをコードまたはJenkinsfileとして使用して、プロジェクトをjenkins1からjenkins2.xに移行しようとしています。
しかし、スニペットジェネレーターには、環境インジェクタープラグインをJenkinsfileのスクリプトに生成するオプションがありません。

誰でも助けることができますか?

5
Pandu Siregar

特定のファイルからプロパティを読み取り、それらを環境変数として挿入したいとしますか?

もしそうなら、これは解決策です:

  • 環境プロパティを含むファイルを作成します

    • 次の内容の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を環境変数として読み取って挿入します
  • 2行目は、読み取り変数を出力して、すべてがシームレスに機能することを確認することです。

結果:

enter image description here

7

あなたの質問にコメントしたかったのですが、私の評判の欠如が私を妨げています。

サポートされている手順のリストは次のとおりです: https://jenkins.io/doc/pipeline/steps/

一般に、他のプラグインはJavaスタイルの呼び出しを使用して使用できます。

つまり.

step([$class: 'classname', parametername: 'value'])
2
tphuoc

この例を使用してプロパティファイルを読み取り、パイプラインステージで使用しました。

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"
     }
  }
}
0
user1789357