GitLab CIでPlaybook開発の課題を解決してみた
by
dcn_f
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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