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
700
Other Decks in Technology
See All in Technology
20241120_JAWS_東京_ランチタイムLT#17_AWS認定全冠の先へ
tsumita
2
300
Zennのパフォーマンスモニタリングでやっていること
ryosukeigarashi
0
150
Shopifyアプリ開発における Shopifyの機能活用
sonatard
4
250
いざ、BSC討伐の旅
nikinusu
2
780
日経電子版のStoreKit2フルリニューアル
shimastripe
1
140
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
150
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
9
1.1k
OCI Network Firewall 概要
oracle4engineer
PRO
0
4.2k
B2B SaaSから見た最近のC#/.NETの進化
sansantech
PRO
0
890
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
13k
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
32
1.5k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Designing for humans not robots
tammielis
250
25k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Rails Girls Zürich Keynote
gr2m
94
13k
Practical Orchestrator
shlominoach
186
10k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
Git: the NoSQL Database
bkeepers
PRO
427
64k
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