2017-10-19 17 views
0

私はJenkinsパイプラインで以下の行を試しています。以下の行のセットでは、変数IMAGE_NAMEをシェルに割り当てて、Jenkinsパイプラインスクリプトでその変数にアクセスしようとしていますが、そのことはできません。どのようにそれを行う上の任意のアイデアですか?Jenkinsパイプライン内からシェル変数にアクセス

stage('Build: Get Image') { 
    steps { 
     echo 'Getting docker image' 
     sh "IMAGE_NAME=`grep -ri \"Successfully built\" 
      $BUILD_FILE_NAME | awk \'{print \$3}\'`" 
     echo "Image Name is:$IMAGE_NAME" 
    } 
} 
+0

地球環境変数がジェンキンスにさらされているか否かは、どのように非常に多くを依存してジェンキンスを開始し、それらの変数がどのように定義されるかを示します。 jenkinsステップ内でコマンド "env"を実行して、使用可能な変数を確認します。 また、ジェンキンをどのように起動するのですか、この変数をどのように定義しますか? –

+0

私はenvを行いましたが、IMAGE_NAMEは表示されませんでした。しかし今日、多くの闘争の末、私は問題を見つけました。 IMAGE_NAMEデータの末尾に\ r \ n文字があります。だから、私はawkの中でprintfを使って\ r \ nを次のコマンドで取り除いた。それはうまくいった。ありがとうございました sh "IMAGE_NAME =' grep -ri \ " $ BUILD_FILE_NAME | awk \ '{printf \"%s \ "\ $ 3} \' –

答えて

0

あなたはENV変数として定義することができます

env.some_var = 'AAAA' 

をとで印刷:

sh 'echo ${env.some_var}' 
関連する問題