我一直在开发几本Ansible剧本,要求他们使用Ansible的开发版本。在我的笔记本电脑上,这不是问题,但我现在正尝试在Bamboo中设置CI任务,这将消耗Playbooks以及任何时候我们的Git仓库所做的更改。
我的想法是在我们的存储库中创建一个特定版本的Ansible的Git子模块,这样我可以做一个git add submodule <ansible git repo>
然后git clone --recursive
来下载官方的Ansible构建作为我的Playbook在CI工作节点上的存储库。
答案 0 :(得分:1)
我认为您可以使用ansible-galaxy做类似的事情
您应该创建一个包含在其中声明的所有ansible组件的文件。然后使用git下载所有组件。此方法可能类似于以下requirements.yml
示例
:
# ansible roles
- src: https://gitlab.corp/teamname/ansible-roles
path: roles/
# ansible playbooks
- src: https://gitlab.corp/teamname/ansible-playbooks
path: playbooks/
# ansible source
- src: https://github.com/ansible/ansible
version: devel
path: ansible/
这将允许您执行ansible-galaxy install -r requirements.yml
以获取所有ansible环境组件,包括角色,playbooks甚至是您想要的ansible版本的源。通过这种方式,您将在一个唯一文件下定义所有可见环境。