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
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
690
Other Decks in Technology
See All in Technology
Janus
bkuhlmann
1
490
コードを書く隙間を見つけて生きていく技術/Findy 思考の現在地
fujiwara3
24
4.9k
Discord とビルダー&チャットボットの使い方 / How to use Discord and Builder & Chatbots
ks91
PRO
0
130
20240416_devopsdaystokyo
kzkmaeda
1
180
Databricks:『生成AI World Cup』のご案内
databricksjapan
2
140
元インフラエンジニアに成る / Human Resources to Human Relations
bobtani
3
760
長期間TiDBを使ってきた話 @ 私たちはなぜNewSQLを使うのかTiDB選定5社が語る選定理由と活用LT / Experiences with TiDB Over Time
chibiegg
2
670
エンタープライズ環境下での Active Directory の運用 TIPS
tamaiyutaro
1
1.5k
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
150
クラウドサインにおけるプロダクトマネージャーの役割と開発プロセス / 20240410_cloudsign-PdM
bengo4com
1
680
NgRx Signal Store
rainerhahnekamp
0
110
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
320
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
356
22k
Agile that works and the tools we love
rasmusluckow
324
20k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
jQuery: Nuts, Bolts and Bling
dougneiner
59
7.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
Clear Off the Table
cherdarchuk
83
310k
Raft: Consensus for Rubyists
vanstee
132
6.2k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Being A Developer After 40
akosma
56
580k
Why Our Code Smells
bkeepers
PRO
331
56k
Building Flexible Design Systems
yeseniaperezcruz
318
37k
Six Lessons from altMBA
skipperchong
20
3k
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