O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

跟著 geerlingguy 大神
一起測試 Ansible Roles

2.498 visualizações

Publicada em

如同程式需要測試,Ansible Playbook 或 Roles 其實也是某種 Code,因此最好也能為其撰寫適當的測試。就讓我們用 15 分鐘的時間,向 Ansible 圈內的大神 geerlingguy 求教,學習 geerlingguy 大神測試 Roles 的方式。

同名文章:
https://medium.com/laraveldojo/follow-geerlingguy-testing-ansible-roles-c9257a8af4ca

Publicada em: Software
  • Login to see the comments

跟著 geerlingguy 大神
一起測試 Ansible Roles

  1. 1. 跟著 geerlingguy 大神
 一起測試 Ansible Roles Cheng Wei Chen @ DevOps Taiwan Meetup #13 - Ansible User 小聚 (2018/4/28) 閃電秀
  2. 2. Cheng Wei Chen 陳 正瑋 DevOps Engineer @ 得寬科技 http://chengweichen.com
  3. 3. https://devopstw.club
  4. 4. https://devopsdays.tw 目前徵稿中! 活動日期:9/11 ~ 9/13
  5. 5. : https://unsplash.com/photos/DlR32lXV01M Testing ? Roles ? Playbook ?
  6. 6. : https://www.ansible.com/beginners-guide-to-testing-infrastructure-as-code
  7. 7. : https://unsplash.com/photos/lt2GzPlOAmc , https://unsplash.com/photos/s8OO2-t-HmQ Playbook Roles
  8. 8. : https://galaxy.ansible.com/ , https://github.com/logos , https://travis-ci.com/logo
  9. 9. : https://ithelp.ithome.com.tw/articles/10187519
  10. 10. Ansible 圈內 大神 Jeff Geerling (@geerlingguy) is a developer and has been using Ansible to manage infrastructure since early 2013. : https://www.ansiblefordevops.com/ , https://www.jeffgeerling.com/
  11. 11. Roles 基本結構 關鍵重點 : https://github.com/geerlingguy/ansible-role-docker
  12. 12. : https://github.com/geerlingguy/ansible-role-docker tests/test.yml
  13. 13. : https://github.com/geerlingguy/ansible-role-docker tests/test.yml
  14. 14. : https://github.com/geerlingguy/ansible-role-docker tests/test.yml
  15. 15. : https://github.com/geerlingguy/ansible-role-docker .travis.yml
  16. 16. : https://github.com/geerlingguy/ansible-role-docker .travis.yml 運用 Docker
  17. 17. : https://github.com/geerlingguy/ansible-role-docker .travis.yml 測試多種環境
  18. 18. : https://github.com/geerlingguy/ansible-role-docker .travis.yml 設置 OPTIONS
  19. 19. : https://github.com/geerlingguy/ansible-role-docker .travis.yml 取得測試用 shell script
  20. 20. : https://github.com/geerlingguy/ansible-role-docker .travis.yml 執行測試
  21. 21. : https://github.com/geerlingguy/ansible-role-docker .travis.yml 再次驗證 Roles 執行成果
  22. 22. : https://travis-ci.org/geerlingguy/ansible-role-docker
  23. 23. https://gist.githubusercontent.com/geerlingguy/ 73ef1e5ee45d8694570f334be385e181/raw/ 關鍵重點 / test.sh
  24. 24. test.sh ‧ 根據 env 設置的 os distribution, 透過 docker 運行對應的測試環境。 ‧ 根據 test/requirements.yml 下載相 依之其他 Roles。 ‧ 執行 --syntax-check 檢查是否有語 法錯誤。
  25. 25. test.sh ‧ 執行 test/test.yml,或執行 env 中 指定其他的 playbook。 ‧ 再次執行 test/test.yml 檢查 Role 是否具備 idempotence 特性。 ‧ 根據 OPTION 決定是否要刪除 docker container。
  26. 26. : https://github.com/geerlingguy/docker-ubuntu1604-ansible/blob/master/Dockerfile
  27. 27. : https://github.com/geerlingguy/docker-ubuntu1604-ansible/blob/master/Dockerfile
  28. 28. 如何套用大神測試法? 複製 修改 test.yml .travis.yml pre_task OPTIONS 如何驗證 Roles 執行成果
  29. 29. Thanks Cheng Wei Chen @ DevOps Taiwan Meetup #13 - Ansible User 小聚 (2018/4/28)

×