2

Jenkinsfile がある場合

docker.image('foo').inside {
    writeFile file: bar, text: baz
}

ファイルはコンテナー内ではなく、Jenkins エージェントのワークスペースに書き込まれますよね? コンテナー内にファイルを書き込む適切な方法はありますか?

ウェブで見つけた最も近いものはhttps://issues.jenkins-ci.org/browse/JENKINS-33510です。ヒアドキュメントでステップを使用できると思いますshが、それはかなり見苦しく聞こえます。

4

1 に答える 1

1

コンテナ内にワークスペースがあり、コンテナ内にファイルを書き込むことができますwriteFiles。ただし、ボリュームとしてマウントされているため、ホスト ノードのワークスペースとも共有されます。

inside意思:

  1. スレーブとワークスペースを自動的に取得します (追加のノード ブロックは必要ありません)。
  2. 要求されたイメージを Docker サーバーにプルします (まだキャッシュされていない場合)。
  3. そのイメージを実行するコンテナーを開始します。
  4. 同じファイル パスを使用して、Jenkins ワークスペースをコンテナー内の「ボリューム」としてマウントします。

ここで何が起こるかを詳しく見ることができinsideます: https://go.cloudbees.com/docs/cloudbees-documentation/cje-user-guide/chapter-docker-workflow.html

于 2016-11-04T13:41:29.483 に答える