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
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7.3k
CIでのgolangci-lintの実行を約90%削減した話
kazukihayase
0
250
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
OCI Oracle Database Services新機能アップデート(2025/03-2025/05)
oracle4engineer
PRO
1
140
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.7k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
17k
Tenstorrent HW/SW 概要説明
tenstorrent_japan
0
390
Kotlinで学ぶ 代数的データ型
ysknsid25
5
1.1k
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
44
26k
キャディでのApache Iceberg, Trino採用事例 -Apache Iceberg and Trino Usecase in CADDi--
caddi_eng
0
120
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
5
38k
マルチテナント+マルチプロダクト SaaS への AI Agent の組み込み方
kworkdev
PRO
2
330
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
480
GitHub's CSS Performance
jonrohan
1031
460k
RailsConf 2023
tenderlove
30
1.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
228
22k
Practical Orchestrator
shlominoach
188
11k
Unsuck your backbone
ammeep
671
58k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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