如何使用与 git url 不同的名称安装 galaxy 角色?
How to install galaxy role with a different name than in git url?
有一个星系角色:git@site.net/ansible-myapp.git
我可以这样安装:
ansible-galaxy install git+git@site.net/ansible-myapp.git
,但它创建了一个名为“ansible-myapp”的角色。
如何安装与 git url 中名称不同的角色?
可以通过 requirements.yml:
- src: git@site.net/ansible-myapp.git
scm: git
name: myapp
ansible-galaxy install -r requirements.yml
将使用名称“myapp”安装它
但是如何在没有 requirements.yml 文件的情况下用一个命令完成呢?
通过反复试验,从 official doc
中推断出这个实际上未记录的功能(至少我没有找到文档)
在版本后添加所需的名称。
ansible-galaxy role install git+git@site.net/ansible-myapp.git,master,myapp
这将使用指定版本将角色安装为 myapp
。对于 master
版本,如果这是默认的存储库分支,您可以传递一个默认为它的空版本:
ansible-galaxy role install git+git@site.net/ansible-myapp.git,,myapp
这是通过以下方式测试的:
$ ansible-galaxy --version
ansible-galaxy 2.9.10
config file = None
configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/dist-packages/ansible
executable location = /usr/local/bin/ansible-galaxy
python version = 3.6.9 (default, Apr 18 2020, 01:56:04) [GCC 8.4.0]
注意:在上述命令行中引入了TYPE位置参数role
来区分角色和集合,如果省略将默认为role
(为了与以前的ansible galaxy版本兼容)
有一个星系角色:git@site.net/ansible-myapp.git
我可以这样安装:
ansible-galaxy install git+git@site.net/ansible-myapp.git
,但它创建了一个名为“ansible-myapp”的角色。
如何安装与 git url 中名称不同的角色?
可以通过 requirements.yml:
- src: git@site.net/ansible-myapp.git
scm: git
name: myapp
ansible-galaxy install -r requirements.yml
将使用名称“myapp”安装它
但是如何在没有 requirements.yml 文件的情况下用一个命令完成呢?
通过反复试验,从 official doc
中推断出这个实际上未记录的功能(至少我没有找到文档)在版本后添加所需的名称。
ansible-galaxy role install git+git@site.net/ansible-myapp.git,master,myapp
这将使用指定版本将角色安装为 myapp
。对于 master
版本,如果这是默认的存储库分支,您可以传递一个默认为它的空版本:
ansible-galaxy role install git+git@site.net/ansible-myapp.git,,myapp
这是通过以下方式测试的:
$ ansible-galaxy --version
ansible-galaxy 2.9.10
config file = None
configured module search path = ['/home/user/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/local/lib/python3.6/dist-packages/ansible
executable location = /usr/local/bin/ansible-galaxy
python version = 3.6.9 (default, Apr 18 2020, 01:56:04) [GCC 8.4.0]
注意:在上述命令行中引入了TYPE位置参数role
来区分角色和集合,如果省略将默认为role
(为了与以前的ansible galaxy版本兼容)