我试图在我的Docker容器内部(或反对)运行我的管道测试。我最初使用Dockerfile来创建容器,但测试总是针对执行作业的jenkins节点运行。我修改了我的jenkinsfile以使用标准的东西,但仍然没有得到我期望的结果。
我最终要完成的是:
我有1& 2工作,但不是3.现在,如果我可以对容器运行测试,我会很高兴,这就是为什么我将Jenkins文件修改为更简单。
My Jenkinsfile:
pipeline {
agent {
docker { image 'node:7-alpine' }
}
stages {
stage('Test') {
steps {
sh 'pwd'
sh 'ls -al'
}
}
}
}
当我在本地运行docker run node:7-alpine pwd
,docker run node:7-alpine ls -al
时,我会收到以下信息:
/
和
bin
dev
etc
home
lib
linuxrc
media
mnt
opt
proc
root
run
sbin
srv
sys
tmp
usr
var
但是詹金斯,我得到了:
[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
答案 0 :(得分:1)
据我所知,这些命令将当前目录从jenkins挂载到容器中并将其设置为workdir。还有一个错误,你无法在容器内切换目录。
尝试使用ls /列出该容器根目录中的内容