私は自分の役割の依存関係をmeta/main.yml
の中で宣言して指定しました。他の役割からの有能な銀河の役割への依存をどのように指定するのですか?
---
dependencies:
- role: angstwad.docker_ubuntu
src: https://github.com/angstwad/docker.ubuntu
scm: git
version: v2.3.0
しかし、私は、私は、エラーメッセージ見ているAnsible脚本を実行しようとすると:それはされている場合でも、私は外部の役割angstwad.docker_ubuntu
がインポートされていないと結論付けエラーメッセージから
ERROR! the role 'angstwad.docker_ubuntu' was not found in /home/.../ansible/roles:/etc/ansible/roles:/home/.../ansible/roles:/home/.../ansible
The error appears to have been in '/home/.../roles/docker-node/meta/main.yml': line 5, column 5, but may be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
- role: angstwad.docker_ubuntu
^here
をdocker-node/meta/main.yml
に明示されている。
私は私の役割自体がAnsibleギャラクシーにアップロードされていない場合でも、Ansible銀河からの外部依存関係を指定することはできますか?
また、ansible-galaxy
を使用して明示的にインポートする必要がありますか? Ansible documentationから
:
役割も他の役割に依存することができ、あなたが依存関係を持っている 役割をインストールするときに、それらのdependenicesは自動的に がインストールされます。
ロールのリストを指定すると、meta/main.ymlファイルでロールの依存関係を指定できます。ロールのソースがGalaxyの場合は、単に の形式でusername.role_nameのロールを指定することができます。 requirements.ymlで使用されるより複雑な フォーマットもサポートされており、 にsrc、scm、バージョン、および名前を指定することができます。
別のSOの質問(How to automatically install Ansible Galaxy roles?)からの提案に従うことで、外部依存関係を手動でダウンロードするか、回避策を使用して明示的に行う必要があるようです。 documentation you linked 1として
正確なエラーメッセージは何ですか? –
エラーメッセージが 'ERROR! 'で始まらないことを確かめてください。 'angstwad.docker_ubuntu'というロールは 'に見つかりませんでしたか?基本的には、自分の質問に既に答えているかのように思えます。 – techraf
@techrafはい私たちが 'meta/main.yml'で指定したとしても、Anipalは外部のロールを見つけることができません。しかし、与えられた指定子に基づいてそれをダウンロードしようとすべきではありませんか?これは私には分かりません。 – luka5z