GitLab CIでPlaybook開発の課題を解決してみた
by
dcn_f
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
GitLab CI×Moleculeで Playbook開発の課題を 解決してみた 村(@dcn_f)
Slide 2
Slide 2 text
Playbook開発時の課題とは?
Slide 3
Slide 3 text
1. 既存のPlaybook修正時の問題 2. ぶっちゃけPlaybookのテストって どこでどうやるの? Playbook開発時の課題とは? バージョンアップでモジュールが 非推奨になった! 修正したPlaybook 想定通りに動いてない!
Slide 4
Slide 4 text
GitLab CI×Moleculeで それらの課題を解決してみた Playbook開発時の課題とは?
Slide 5
Slide 5 text
GitLab CIとは?
Slide 6
Slide 6 text
GitLab CI(CI/CD)とは GitLabに備わっているCI/CDのためのツール 記法はyamlなので親しみやすい!(?)
Slide 7
Slide 7 text
Moleculeとは?
Slide 8
Slide 8 text
Moleculeとは AnsibleのRoleテスト用ツール - lint(yamllint, ansible-lint, flake8 etc...) - Playbook実行用の環境設定(docker, ssh etc...) - Playbookの動作確認(testinfra, ansible etc…)
Slide 9
Slide 9 text
Moleculeとは AnsibleのRoleテスト用ツール →工夫すればPlaybookのテストもできる
Slide 10
Slide 10 text
アーキテクチャ
Slide 11
Slide 11 text
アーキテクチャ 1. Git push時にRunnerが起動 2. Container RegistryのMoleculeのイメージを起動 3. Moleculeが自動でPlaybookのテストを実行
Slide 12
Slide 12 text
- GitLab上にてCIジョブが必ず実行されるため、 チェック漏れがなくなる - lint/syntaxを利用して実行できないPlaybookを 減らせる 1. 既存のPlaybook修正時の問題
Slide 13
Slide 13 text
- Moleculeがいろいろな環境への実行をサポートしてくれる ため、設定次第でどうにでもなる! - ※ただし、どうやってPlaybook実行環境を元の状態に戻す かは考えておいたほうがいいと思います。 2. ぶっちゃけPlaybookのテストって どこでどうやるの?
Slide 14
Slide 14 text
sampleあります https://gitlab.com/kitiful1812/molecule-ci
Slide 15
Slide 15 text
ぜひ、やってみてください!
Slide 16
Slide 16 text
ありがとうございました Twitter: @dcn_f ブログ: https://dcn-f.hatenablog.com/ GitLab: https://gitlab.com/kitiful1812