私は、プライベート gitlab git リポジトリでカスタムメイドのロールをホストすることに飛び込んでいます。
これに対する答えは、「1 つのロールに対して 1 つのリポジトリのみが必要です」ということになるかもしれませんが、私はそれを行っていません。リポジトリに 2 つのロールを配置しようとしましたが、フォルダーを使用して最上位でそれらを区別しました。
「requirements.yml」が私の役割を引き出したので、正しく書かれたようです。ただし、「nexus」のすべてのファイルを「chocolatey_factory」のスケルトン ロールに入れています。「ネクサス」のインポートされた役割はうまくいきます。
私の要件ファイルは次のとおりです。
---
- 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
これが私のレポのレイアウトです。アイデアは、レポの最上位にある各フォルダーをロールにすることです。この場合、私には 2 つの役割があります。
Chocolatey_factory Galaxy 初期フォルダー
ここで何が間違っていますか?
1 つは「nexus」、もう 1 つは「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 リポジトリに 2 つのロールを持つことはできませんか?