天天看點

使用Ansible Galaxy 下載下傳Ansible應用案例

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://[email protected]/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

轉載于:https://blog.51cto.com/john88wang/1790099