我只是潜入在私人 gitlab git 存储库中托管定制角色。
对此的答案可能只是“你必须为 1 个角色只有 1 个 repo”,我没有这样做。我试图将两个角色放在一个仓库中,并且刚刚使用文件夹在顶层区分它们。
我似乎已经正确编写了“requirements.yml”,因为它取消了我的角色。但是,它将“nexus”中的所有文件放入“chocolatey_factory”的骨架角色中。'nexus' 导入的角色很好。
我的需求文件如下:
---
- src: git+ssh://git@[local_ip_address]/gitlab-instance-937dde58/my_first_project.git
scm: git
version: main
name: nexus
- src: git+ssh://git@[local_ip_address]/gitlab-instance-937dde58/my_first_project.git
scm: git
version: main
name: chocolatey_factory
这是我的回购布局。我的想法是让 repo 顶层的每个文件夹都成为一个角色。所以在这种情况下,我有两个角色。
我在这里做错了什么?
一个是“nexus”,另一个是“chocolatey_factory”。Nexus 是我获取的可用于配置 Sontaype nexus 的公共角色。Chocolatey_factory 是我正在制作的,但此时它只是一个 ansible-galaxy init 骨架:
然后我运行我的 ansible-galaxy 命令
ansible-galaxy install -r roles/requirements.yml -p roles/
它导入角色。但是来自“nexus”角色的文件出现在“chocolatey_factory”角色中。
'nexus' 角色有像 pom.xml 这样的文件,其中 'chocolatey_factory' 除了 ansible-galaxy init 创建的东西之外没有任何东西(即它没有 pom.xml 文件)。
您可以在这里看到两个文件夹都有相同的文件。
ls roles
chocolatey_factory nexus requirements.yml
ls roles/chocolatey_factory
chocolatey_factory filter_plugins molecule tasks
CODE_OF_CONDUCT.md handlers pom.xml templates
defaults LICENSE.md README.md tests
files meta requirements.txt vars
ls roles/nexus
chocolatey_factory filter_plugins molecule tasks
CODE_OF_CONDUCT.md handlers pom.xml templates
defaults LICENSE.md README.md tests
files meta requirements.txt vars
为什么我的一个角色的文件被插入到另一个角色中?在同一个 git 存储库中不能有两个角色吗?