Jenkinsfile与docker容器内的writeFile?

如果我有一个Jenkinsfile

docker.image('foo').inside { writeFile file: bar, text: baz } 

该文件被写入Jenkins代理的工作区,而不是在容器内,对吗? 有一个理智的方法来写一个容器内的文件?

我能在网上find的最接近的是https://issues.jenkins-ci.org/browse/JENKINS-33510 。 我想我可以在这里使用sh -step,但这听起来很丑。

在容器中有一个工作区,你可以用writeFiles在容器中写文件。 但是它也与主机节点的工作空间共享,因为它被安装为一个卷。

inside会:

  1. 自动抓取一个从机和一个工作区(不需要额外的节点块)。
  2. 将请求的图像拖放到Docker服务器(如果尚未caching)。
  3. 启动运行该映像的容器。
  4. 将Jenkins工作区安装为容器内的“卷”,使用相同的文件path。

您可以inside这里看到更多详细信息: https : //go.cloudbees.com/docs/cloudbees-documentation/cje-user-guide/chapter-docker-workflow.html