Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GitLab CIでPlaybook開発の課題を解決してみた
Search
dcn_f
February 09, 2020
Technology
1
1.1k
GitLab CIでPlaybook開発の課題を解決してみた
dcn_f
February 09, 2020
Tweet
Share
More Decks by dcn_f
See All by dcn_f
楽しいインフラCI
dcn_f
3
710
Other Decks in Technology
See All in Technology
絶対に失敗できないキャンペーンページの高速かつ安全な開発、WINTICKET × microCMS の開発事例
microcms
0
390
なぜスクラムはこうなったのか?歴史が教えてくれたこと/Shall we explore the roots of Scrum
sanogemaru
3
890
Webブラウザ向け動画配信プレイヤーの 大規模リプレイスから得た知見と学び
yud0uhu
0
210
テストを軸にした生き残り術
kworkdev
PRO
0
150
フィンテック養成勉強会#56
finengine
0
120
Snowflakeの生成AI機能を活用したデータ分析アプリの作成 〜Cortex AnalystとCortex Searchの活用とStreamlitアプリでの利用〜
nayuts
0
280
バッチ処理で悩むバックエンドエンジニアに捧げるAWS Glue入門
diggymo
3
110
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
650
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
140
進捗
ydah
2
230
生成AI時代のデータ基盤
shibuiwilliam
6
3.5k
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
140
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Building an army of robots
kneath
306
46k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Being A Developer After 40
akosma
90
590k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
The Cult of Friendly URLs
andyhume
79
6.6k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Typedesign – Prime Four
hannesfritz
42
2.8k
Transcript
GitLab CI×Moleculeで Playbook開発の課題を 解決してみた 村(@dcn_f)
Playbook開発時の課題とは?
1. 既存のPlaybook修正時の問題 2. ぶっちゃけPlaybookのテストって どこでどうやるの? Playbook開発時の課題とは? バージョンアップでモジュールが 非推奨になった! 修正したPlaybook 想定通りに動いてない!
GitLab CI×Moleculeで それらの課題を解決してみた Playbook開発時の課題とは?
GitLab CIとは?
GitLab CI(CI/CD)とは GitLabに備わっているCI/CDのためのツール 記法はyamlなので親しみやすい!(?)
Moleculeとは?
Moleculeとは AnsibleのRoleテスト用ツール - lint(yamllint, ansible-lint, flake8 etc...) - Playbook実行用の環境設定(docker, ssh
etc...) - Playbookの動作確認(testinfra, ansible etc…)
Moleculeとは AnsibleのRoleテスト用ツール →工夫すればPlaybookのテストもできる
アーキテクチャ
アーキテクチャ 1. Git push時にRunnerが起動 2. Container RegistryのMoleculeのイメージを起動 3. Moleculeが自動でPlaybookのテストを実行
- GitLab上にてCIジョブが必ず実行されるため、 チェック漏れがなくなる - lint/syntaxを利用して実行できないPlaybookを 減らせる 1. 既存のPlaybook修正時の問題
- Moleculeがいろいろな環境への実行をサポートしてくれる ため、設定次第でどうにでもなる! - ※ただし、どうやってPlaybook実行環境を元の状態に戻す かは考えておいたほうがいいと思います。 2. ぶっちゃけPlaybookのテストって どこでどうやるの?
sampleあります https://gitlab.com/kitiful1812/molecule-ci
ぜひ、やってみてください!
ありがとうございました Twitter: @dcn_f ブログ: https://dcn-f.hatenablog.com/ GitLab: https://gitlab.com/kitiful1812