問題

私はDockerfileを持っています

 ENTRYPOINT ["node", "index.js"]
CMD ["--help"]
 

index.jsはいくつかの異なる引数を取ることができ、コンテナのポートを公開する必要があるので、手動で実行すると次のようになります。

 docker run -p 3000:3000 my_container:latest --arg1 somearg --arg2 anotherarg
 

Jenkinsfileでこれを行うにはどうすればよいですか?私のテストはこのコンテナと通信するので、テストを実行する前に実行する必要があります。テストを実行する前にwithRun()を使用しますが、--arg1 somearg --arg2 anotherargを指定する方法はわかりません

 stage('TestMicroservice') {
    //
    // HOW DO I SPECIFY '--arg1 somearg --arg2 anotherarg'?
    //
    docker.image("my_container:latest").withRun('-p 3000:3000') {
        sh 'npm run test-microservice'
    }
}
 

  ベストアンサー

withRun の2番目の引数を使用することができます。

 .withRun('-p 3000:3000', '--arg1 somearg --arg2 anotherarg')
 

  同じタグがついた質問を見る

dockerjenkinsjenkins-pipeline