2017-05-18 25 views
4

node.jsに基づくアプリケーション用のDockerイメージを構築していますが、一部の依存関係ではプライベートNPMレジストリのNPMトークンが必要ですが、イメージを構築するときにトークンを含む変数はnullです。Jenkins宣言型パイプラインのエージェントセクションで環境変数を使用する方法は?

docker build -t 3273e0bfe8dd329a96070382c1c554454ca91f96 --build-args NPM_TOKEN=null -f Dockerfile 

単純化されたパイプラインは次のとおりです。

pipeline { 

    environment { 
    NPM_TOKEN = credentials('npm-token') 
    } 

    agent { 
    dockerfile { 
     additionalBuildArgs "--build-args NPM_TOKEN=${env.NPM_TOKEN}" 
    } 
    } 

    stages { 
    stage('Lint') { 
     steps { 
     sh 'npm run lint' 
     } 
    } 
    } 

} 

そのセクションでのenv変数を使用する方法はありますか、それは現在サポートされていませんか?

ところで、私はこれは間違いなく、宣言パイプラインのバグである

答えて

3

ドッキングウィンドウのイメージを構築するためにNPMトークンを使用する方法に関連Docker and private modulesでの提案に従ってきました。あなたはここにこれに関連した問題を追跡することができます。https://issues.jenkins-ci.org/browse/JENKINS-42369

あなたは、宣言のパイプラインを使用してから移動して、あなたのJenkinsfileは「wordier」となりますが、これは、

を発生しない代わりに、スクリプトのパイプラインを使用している場合
関連する問題