如果我有一个带有
的Jenkins文件docker.image('foo').inside {
writeFile file: bar, text: baz
}
文件被写入Jenkins代理的工作区,而不是容器内,对吗?有没有一种理智的方法在容器内写入文件?
我能在网上找到的最接近的是https://issues.jenkins-ci.org/browse/JENKINS-33510。我想我可以在here-doc中使用sh
步骤,但听起来很难看。
答案 0 :(得分:0)
容器中有一个工作区,您可以使用writeFiles
在容器内编写文件。
但它也与主机节点的工作区共享,因为它作为卷安装。
inside
将:
- 自动抓取从属设备和工作空间(没有额外的节点块 必需的)。
- 将请求的图像拉到Docker服务器(如果尚未缓存)。
- 启动运行该图像的容器。
- 使用安装Jenkins工作区作为容器内的“卷” 相同的文件路径。
醇>
您可以在此处inside
了解更多详细信息:https://go.cloudbees.com/docs/cloudbees-documentation/cje-user-guide/chapter-docker-workflow.html