为什么在使用 Jenkins docker 图像时删除了 "ansible-galaxy" 命令中的 .ansible 目录

Why is the .ansible directory from "ansible-galaxy" command removed when using - Jenkins docker image

我正在尝试使用 Dockerfile 创建自定义 docker 图像。在我的 Dockerfile 中,我已经安装了 ansible,我可以从早期的经验中确认这是有效的,但是当我使用命令 ansible-galaxy 来安装特定的 rolecollection (在这种情况下是集合)它没有存储在安装路径中。

DOCKER 构建的输出:

(Previous steps works)
     ...
Step 11/11 : RUN ansible-galaxy collection install community.vmware
 ---> Running in e222fee67b89
Process install dependency map
Installing 'community.vmware:1.1.0' to '/home/me/.ansible/collections/ansible_collections/community/vmware'

当我尝试从这个图像 运行 一个容器时,路径 /home/me/.ansible/collections/ansible_collections/community/vmware 不存在,所以在 运行 连接容器之后我必须使用 docker exec并手动 运行 命令 ansible-galaxy collection install community.vmware.


任何帮助将不胜感激。

谢谢。

在构建图像本身时,我没有使用 运行 ansible-galaxy 命令,而是将 ansible 集合从 GitHub 拉到我的计算机,然后将集合复制到 /usr/share/jenkins/ref/。继 Jenkins docker documentation.

COPY .ansible/collection  /usr/share/jenkins/ref/

jenkins docker 映像是使用脚本构建的,该脚本将文件从 /usr/share/jenkins/ref/ 目录复制到 jenkins 主目录。