DockerコンテナにJenkinsを設定しました。私はビルドを取ることができます。ビルド後、私はWARファイルをホストシステムで動作しているTomcatサーバーに移動したいと思う。ポストビルドタスクでコピーコマンドを追加しました。 Jenkinsはコンテナ内で動作しているため、WARをホストシステムに移動することはできません。ファイルをDockerコンテナからJenkinsのホストシステムに移動
WARファイルをコンテナからホストシステムに移動するにはどうすればよいですか?
ホストパス:/ホーム/テスト/ tomcatに/ webappsに
ジェンキンスコンテナパス:起動時に
ドッカーでJenkinsを実行しているか、ドッカーでビルドジョブを実行していますか?最初の場合、ホストシステム上のファイルをコンテナに置いてそこにコピーしたい場所の親ディレクトリをマップします(コンテナ内のユーザには注意してください)。つまり '-v/home/test// home/test/tomcat/webapps/'にコピーしておくと、post build-stepとしてコピーでき、それは(@ kimy82の回答のように)持続します。 後者の場合、作業領域はJenkinsによってマッピングされるため、ビルド中に作成されたファイルはそのまま残ります。 – Rik
コンテナ内に何かを構築する場合、 'userid:groupid'はコンテナ内のjenkinsサービスユーザのものになります。したがって、ホストシステム上でこれを変更するか、ホストとコンテナで同じものを使用できるようにする必要があります(つまり、ユーザーテストで 'uid:gid'が1001:1001の場合は、ホスト上で 'Permission denied'を防ぐ' uid:gid'と同じ 'welcome.jar'を作成します。 – Rik
私はDockerでJenkinsを実行しており、それを使ってビルドしています。 – Gnana