我使用Cloudbees Docker Plugin 1.9和Jenkins 2.25在Docker容器中构建我的项目。
Jenkins本身也在Ubuntu 14.4上的Docker 1.12.2下运行。
JENKINS_HOME目录作为Volume挂载,因此每个作业,工作空间等都可以在User" ubuntu"在主机系统上。
使用Cloudbees Docker插件运行作业时,它会创建一个"?"工作区中包含不同隐藏目录的文件夹(例如.oracle_jre_usage,.m2,.gradle等)
任何人都可以解释一下,Jenkins Job的哪个部分/插件创建了这个文件夹以及为什么命名为"?"
答案 0 :(得分:1)
在将源文件夹作为WORKDIR
安装到Maven容器中时,我遇到了类似的问题。
JRE似乎将WORKDIR/$(id -un)
作为主目录(设置中为${user.home}
)并创建这些文件夹。
'?'可能是由于未能在容器中解析主机的UID,我使用docker run --rm -u $(id -u):$(id -g) ...
执行了该操作。
我能够修改apache-maven/conf/settings.xml
以更改路径,如果.m2
将缓存保留在另一个主机挂载上。但是,由于始终会创建this issue .oracle_jre_usage
并记录时间戳。
解决方案可能是未将WORKDIR
设置为工作区,因此${user.home}
将指向将使用容器移除的/?/
。