Ansible Galaxy是Ansible官方用于用户分享Ansible roles的社区hub。一个role就是用Ansible的方式构建自动化内容并使其可以重复使用。
1.下载各种Roles
可以通过ansible-galaxy在命令行下载各种流行的roles。类似从Zabbix的官方社区下载各种模板一样。
# ansible-galaxy install patrik.uytterhoeven.Zabbix-Agent
install 后面是 username.rolename
可以在一个文件中指定多个需要下载的roles
# ansible-galaxy install -r roles.txt # cat roles.txt patrik.uytterhoeven.Zabbix-Agent patrik.uytterhoeven.Zabbix_Server
从Ansible1.8开始可以不通过Galaxy下载roles
# install_roles.yml # from galaxy - src: yatesr.timezone # from github - src: https://github.com/bennojoy/nginx # from github installing to a relative path - src: https://github.com/bennojoy/nginx path: vagrant/roles/ # from github, overriding the name and specifying a specific tag - src: https://github.com/bennojoy/nginx version: master name: nginx_role # from a webserver, where the role is packaged in a tar.gz - src: https://some.webserver.example.com/files/master.tar.gz name: http-role # from bitbucket, if bitbucket happens to be operational right now :) - src: git+http://bitbucket.org/willthames/git-ansible-galaxy version: v1.4 # from bitbucket, alternative syntax and caveats - src: http://bitbucket.org/willthames/hg-ansible-galaxy scm: hg
# ansible-galaxy install -r install_roles.yml
2.Share Roles
$ git clone https://username@github.com/username/ansible-role-acme.git acme $ ansible-galaxy init acme --force
cme/ .travis.yml README.md defaults/ files/ handlers/ meta/ tasks/ templates/ tests/ vars/
详情参加官方文档
参考文档:
https://galaxy.ansible.com/intro#welcome
http://docs.ansible.com/ansible/galaxy.html
https://galaxy.ansible.com/explore#/
https://galaxy.ansible.com/list#/roles?page=1&page_size=10