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でMRを自動生成する
Search
forcia_dev_pr
June 15, 2022
Programming
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Gitlab CIでMRを自動生成する
2022/6/8(水)に行われた「自動化大好きエンジニアLT会 - vol.7」での発表資料です。
https://rakus.connpass.com/event/245663/
forcia_dev_pr
June 15, 2022
More Decks by forcia_dev_pr
See All by forcia_dev_pr
"書く文化"を仕組みで育てる──フォルシアの技術ブログ継続戦略
forcia_dev_pr
1
300
新しいおもちゃを見つけたい私がやっている情報収集
forcia_dev_pr
2
500
「Pythonの環境構築について」と記事作成で意識したこと
forcia_dev_pr
1
210
Neovim で VS Code みたいにコーディングする
forcia_dev_pr
1
230
なぜ・どうやって・何を書く? 〜技術記事を書く習慣の作り方〜
forcia_dev_pr
1
240
第8回ゆるふわオンサイト 解説スライド
forcia_dev_pr
0
230
第7回ゆるふわオンサイト解説
forcia_dev_pr
0
310
第6回ゆるふわオンサイト解説
forcia_dev_pr
0
310
よくわかるFORCIAのエンジニア旅行SaaSプロダクト開発編
forcia_dev_pr
0
1.3k
Other Decks in Programming
See All in Programming
Deep dive into the select statement (GopherCon UK)
jespino
0
170
まだ間に合う!今年の夏こそSchemeのマクロ展開器を完全理解!
omasanori
0
630
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
4
860
型解析で実現する Go の言語内 DSL / Conference に Go! タイムテーブルの歩き方 for Gophers
mazrean
0
130
Go 1.27からのGODEBUG / Go 1.27 リリースパーティ #go127party
mazrean
0
300
私のClaude Code活用法 (個人開発編) - PHPerKaigi mini #4(2026/08/24)
panda_program
1
210
AIと壁打ちしながら進めるコスト管理
fufuhu
2
1.9k
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
0
410
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
130
{ Android | Kotlin } Gradle Plugin in 2026
ryunen344
1
280
高専キャリア LT 発表内容
crysta1221
6
5.5k
Swift愛好会100回記念 第1回を振り返る
jollyjoester
0
120
Featured
See All Featured
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
The Cult of Friendly URLs
andyhume
79
7k
Building AI with AI
inesmontani
PRO
1
1.2k
Agile that works and the tools we love
rasmusluckow
331
22k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
370
Documentation Writing (for coders)
carmenintech
77
5.5k
RailsConf 2023
tenderlove
30
1.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.3k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
510
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
390
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Transcript
Gitlab CIでMRを自動生成する 籏野 拓 2022.6.8 @自動化大好きエンジニアLT会 - vol.7
• 自己紹介 • 自動化したフロー • まとめ 本日のお品書き 2
自己紹介 • 籏野 拓 (Taku Hatano) • ソフトウェアエンジニア@フォルシア株式会社 ◦ 福利厚生系webサイトの検索ページ
◦ 社内のお役立ちツール開発など • 活動領域 ◦ Next.js/expressでアプリケーション開発 ◦ 最近はk8sでのアプリ構築もやったりしました 3
Gitlab CIとは • Gitlabが提供するCI/CDを自動化するための仕組み • GitlabCIが実行する各jobはプロジェクトに紐づいている ◦ 特定のブランチ更新などをトリガーにジョブを実行 4
• いわゆるGitHub Flow ◦ 開発ブランチを切る ◦ MR提出 ◦ レビュー完了後マージ ブランチ戦略
5 master feature ・MR作成 ・レビュー 毎回作るのが 面倒
• Gitlab APIを利用 ◦ MR作成済みかをチェック→なければMRを作成 • GitlabCIが提供する環境変数/ユーザー設定の環境変数を利用 ◦ 各プロジェクトで同じコードを使いまわせる GitLabCIの設定
- MR生成 6 【Gitlab CIが提供する環境変数の一例】 CI_BUILD_REF_NAME: pushしたブランチ名 CI_PROJECT_ID: プロジェクトID 参考 【MR作成のリクエスト】 curl -X POST -H "Private-Token: ${PRIVATE_TOKEN}" \ -d "title=${TITLE}&source_branch=${CI_BUILD_REF_NAME}&target_branch=${TARGET_BRANCH} &description=${DESCRIPTION}&${OPTIONS}" \ "${GITLAB_DOMAIN}/api/v4/projects/${CI_PROJECT_ID}/merge_requests"
• 設定ファイルの一部を切り出して、リポジトリに登録 ◦ 様々なプロジェクトでincludeしてCIを実行できるようになった Gitlab CIの設定の共有 7 include: # MRを自動生成
- project: 'misc/gitlab-ci-template' ref: 'master' file: '/create_mr/template.yml' create_mr: variables: PRIVATE_TOKEN: $GITLAB_BOT_TOKEN MR_TEMPLATE_TYPE: default TARGET_BRANCH: master IS_DRAFT: 1 OPTIONS: 'remove_source_branch=yes'
• 思った以上に快適 • MR作成漏れが防げる • MRのフォーマットを統一しやすい ◦ テンプレートを用意しても使われなければ意味がない 良かった点 8
• テスト • deploy • tagの自動付与 • 自動マージ • MRのレビュワー自動アサイン
• …etc Gitlab CIで実現している自動化 9
ご清聴ありがとうございました 10
EOF