0

我只是潜入在私人 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 顶层的每个文件夹都成为一个角色。所以在这种情况下,我有两个角色。

顶级回购

关系文件夹/角色文件

Chocolatey_factory 银河初始化文件夹

我在这里做错了什么?

一个是“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 存储库中不能有两个角色吗?

4

0 回答 0