0
私はパイプラインテストを私の持っているドッカーコンテナの内部(またはそれに対して)実行しようとしています。もともと私はDockerfileを使ってコンテナを作成していましたが、テストは常にジョブを実行するjenkinsノードに対して実行されます。私はjenkinsfileを何か標準を使うように修正しましたが、私が期待するものはまだ得られません。Docker Container内のJenkinsパイプラインテストを実行します。
私が最終的に達成しようとしていることである:
- は、容器上に私のPythonスクリプトを実行します
- がコンテナ
- に私のソースコードをコピーし ドッカコンテナを投げる
私は1つの&を持っていますが、3ではありません。今はコンテナに対してテストを実行できれば幸いです.Jenkinsfileをより簡単に変更したのはこのためです。
マイJenkinsfile:私はローカルdocker run node:7-alpine pwd
、docker run node:7-alpine ls -al
を実行すると
pipeline {
agent {
docker { image 'node:7-alpine' }
}
stages {
stage('Test') {
steps {
sh 'pwd'
sh 'ls -al'
}
}
}
}
、私は以下の取得:
/
と
bin
dev
etc
home
lib
linuxrc
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
しかし、ジェンキンスさんに私が手:
私の知る限り、これらのコマンドは、容器の中にジェンキンスから現在のディレクトリをマウントし、WORKDIRとして設定します知っているように[test_job] Running shell script
+ pwd
/srv/jenkins/workspace/test_job
と
[test_job] Running shell script
+ ls -al
total 36
drwxr-x--- 4 5003 5003 4096 Aug 29 20:44 .
drwxr-xr-x 4 root root 4096 Aug 29 20:44 ..
drwxr-x--- 8 5003 5003 4096 Aug 29 20:44 .git
-rw-r----- 1 5003 5003 1184 Aug 29 19:24 .gitignore
-rw-r----- 1 5003 5003 802 Aug 29 19:47 Dockerfile
-rw-r----- 1 5003 5003 247 Aug 29 20:44 Jenkinsfile
-rw-r----- 1 5003 5003 417 Aug 29 20:24 OriginalJenkinsfile
-rw-r----- 1 5003 5003 2534 Aug 29 19:24 README.md
drwxr-x--- 5 5003 5003 4096 Aug 29 19:24 framework
に私がドッキングウィンドウパイプラインプラグインを使用していているものは何でもリストする必要がありlsと/試してみてください、私のコードは、実際にここで言及した最初の例である:https://jenkins.io/doc/book/pipeline/docker/- しかしテストステップは説明どおりに動作していません。 – cdm
私の編集された答えを見てください。ドッカーコンテナのルートディレクトリが必要です。しかし、実際には、マウントされたディレクトリの内容を一覧表示します。 'ls /'を試してみてください – herm