$30 off During Our Annual Pro Sale. View Details »
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
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
240
Agentic AI Patterns and Anti-Patterns
glaforge
1
200
Haskell を武器にして挑む競技プログラミング ─ 操作的思考から意味モデル思考へ
naoya
1
600
「Managed Instances」と「durable functions」で広がるAWS Lambdaのユースケース
lamaglama39
0
270
[JAWS-UG 横浜支部 #91]DevOps Agent vs CloudWatch Investigations -比較と実践-
sh_fk2
1
240
生成AIでテスト設計はどこまでできる? 「テスト粒度」を操るテーラリング術
shota_kusaba
0
510
法人支出管理領域におけるソフトウェアアーキテクチャに基づいたテスト戦略の実践
ogugu9
1
210
AWS Bedrock AgentCoreで作る 1on1支援AIエージェント 〜Memory × Evaluationsによる実践開発〜
yusukeshimizu
6
370
Challenging Hardware Contests with Zephyr and Lessons Learned
iotengineer22
0
120
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
1.6k
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
210
[デモです] NotebookLM で作ったスライドの例
kongmingstrap
0
100
Featured
See All Featured
Bash Introduction
62gerente
615
210k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Visualization
eitanlees
150
16k
For a Future-Friendly Web
brad_frost
180
10k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Building Applications with DynamoDB
mza
96
6.8k
Designing for humans not robots
tammielis
254
26k
[SF Ruby Conf 2025] Rails X
palkan
0
490
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Writing Fast Ruby
sferik
630
62k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
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