Jenkins Docker プラグインを使用してイメージをビルドします (これは機能します)。次のようなコマンドでコンテナーを問題なく実行できます。
docker run test-env:latest /etc/bootstrap.sh -jenkins
ただし、実行すると
docker run -u root -v $WORKSPACE:/test test-env:latest /etc/bootstrap.sh -jenkins
私はいくつかの問題に遭遇します。ボリューム /test はコンテナー内に存在しますが、$WORKSPACE に含まれるファイルは含まれていません。Dockerコンテナを実行する前に、
cd $WORKSPACE && ls -al
次の内容を示します。
total 52
drwxr-xr-x 10 root root 4096 Sep 3 15:49 .
drwxr-xr-x 3 root root 4096 Sep 3 15:49 ..
drwxr-xr-x 8 root root 4096 Sep 3 15:49 .git
-rw-r--r-- 1 root root 361 Sep 3 15:49 .gitignore
-rw-r--r-- 1 root root 71 Sep 3 15:49 README.md
drwxr-xr-x 3 root root 4096 Sep 3 15:49 bin
-rw-r--r-- 1 root root 1900 Sep 3 15:49 build.sbt
drwxr-xr-x 3 root root 4096 Sep 3 15:49 conf
drwxr-xr-x 2 root root 4096 Sep 3 15:49 docs
drwxr-xr-x 2 root root 4096 Sep 3 15:49 lib
drwxr-xr-x 2 root root 4096 Sep 3 15:49 project
drwxr-xr-x 3 root root 4096 Sep 3 15:49 scripts
drwxr-xr-x 4 root root 4096 Sep 3 15:49 src
コンテナと共有したいgitリポジトリ(test_repo)を参照してください。すべての正しいファイルが含まれていますが、コンテナ内にある場合
cd /test && ls -al
私が見るのは
total 16
drwxr-xr-x 4 root root 4096 Sep 2 14:30 .
drwxr-xr-x 1 root root 4096 Sep 3 10:27 ..
drwxr-xr-x 3 root root 4096 Sep 2 13:26 test_repo
drwxr-xr-x 5 root root 4096 Sep 2 14:30 target
どちらにも私のコードは含まれていません。マウントするボリュームとして $WORKSPACE/test_repo と $WORKSPACE/target を使用して、さらにテストして確認しました。
$WORKSPACE ファイルがコンテナに表示されないのはなぜですか? どうすれば適切に動作させることができますか?
編集: $WORKSPACE の値 = /var/tmp/workspace/test-jenkins ここで、test-jenkins は私の Jenkins ジョブの名前です