Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitLab CIでPlaybook開発の課題を解決してみた

9ad2946b72076adf44a80e113b747668?s=47 dcn_f
February 09, 2020

GitLab CIでPlaybook開発の課題を解決してみた

9ad2946b72076adf44a80e113b747668?s=128

dcn_f

February 09, 2020
Tweet

More Decks by dcn_f

Other Decks in Technology

Transcript

  1. GitLab CI×Moleculeで Playbook開発の課題を 解決してみた 村(@dcn_f)

  2. Playbook開発時の課題とは?

  3. 1. 既存のPlaybook修正時の問題 2. ぶっちゃけPlaybookのテストって  どこでどうやるの? Playbook開発時の課題とは? バージョンアップでモジュールが 非推奨になった! 修正したPlaybook 想定通りに動いてない!

  4. GitLab CI×Moleculeで それらの課題を解決してみた Playbook開発時の課題とは?

  5. GitLab CIとは?

  6. GitLab CI(CI/CD)とは GitLabに備わっているCI/CDのためのツール 記法はyamlなので親しみやすい!(?)

  7. Moleculeとは?

  8. Moleculeとは AnsibleのRoleテスト用ツール - lint(yamllint, ansible-lint, flake8 etc...) - Playbook実行用の環境設定(docker, ssh

    etc...) - Playbookの動作確認(testinfra, ansible etc…)
  9. Moleculeとは AnsibleのRoleテスト用ツール →工夫すればPlaybookのテストもできる

  10. アーキテクチャ

  11. アーキテクチャ 1. Git push時にRunnerが起動 2. Container RegistryのMoleculeのイメージを起動 3. Moleculeが自動でPlaybookのテストを実行

  12. - GitLab上にてCIジョブが必ず実行されるため、 チェック漏れがなくなる - lint/syntaxを利用して実行できないPlaybookを 減らせる 1. 既存のPlaybook修正時の問題

  13. - Moleculeがいろいろな環境への実行をサポートしてくれる ため、設定次第でどうにでもなる! - ※ただし、どうやってPlaybook実行環境を元の状態に戻す かは考えておいたほうがいいと思います。 2. ぶっちゃけPlaybookのテストって  どこでどうやるの?

  14. sampleあります https://gitlab.com/kitiful1812/molecule-ci

  15. ぜひ、やってみてください!

  16. ありがとうございました Twitter: @dcn_f ブログ: https://dcn-f.hatenablog.com/ GitLab: https://gitlab.com/kitiful1812