Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
GitLab CIでPlaybook開発の課題を解決してみた
dcn_f
February 09, 2020
Technology
1
910
GitLab CIでPlaybook開発の課題を解決してみた
dcn_f
February 09, 2020
Tweet
Share
More Decks by dcn_f
See All by dcn_f
楽しいインフラCI
dcn_f
3
650
Other Decks in Technology
See All in Technology
What's new in Vision
satotakeshi
0
210
miisan's career talk
mii3king
0
220
音のような言葉 〜ちゃちゃっとチャットで楽しむちょっとしたコツ〜 / words like sounds
satoryu
1
1.4k
プログラマがオブジェクト指向しても幸せになれない理由
shirayanagiryuji
0
140
Lessons Learned from Scaling Infrastructure as Code
joatmon08
0
800
Oracle Cloud Infrastructure:2022年6月度サービス・アップデート
oracle4engineer
PRO
0
140
開発組織の生産性を可視化する State of DevOpsとFour Keysとは / deep dive into State of DevOps
yfcgpsebp
0
230
MoT TechTalk #12 タクシーアプリ『GO』大規模トラフィックを捌く分析データ基盤の全容に迫る!
mot_techtalk
1
370
PUTとPOSTどっち使う?
hankehly
0
260
アーキテクチャを明文化して開発に臨んだ話
akkie76
0
310
インフラのCI/CDはGitHub Actionsに任せた
mihyon
0
110
要約 "Add Live Text interaction to your app"
ushisantoasobu
0
150
Featured
See All Featured
Producing Creativity
orderedlist
PRO
334
37k
Scaling GitHub
holman
451
140k
4 Signs Your Business is Dying
shpigford
169
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
316
22k
Ruby is Unlike a Banana
tanoku
91
9.2k
GraphQLとの向き合い方2022年版
quramy
16
8.3k
Intergalactic Javascript Robots from Outer Space
tanoku
261
25k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
10
3.4k
Why You Should Never Use an ORM
jnunemaker
PRO
47
7.6k
How to Ace a Technical Interview
jacobian
265
21k
Debugging Ruby Performance
tmm1
65
10k
Pencils Down: Stop Designing & Start Developing
hursman
112
9.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