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
0
690
Gitlab CIでMRを自動生成する
2022/6/8(水)に行われた「自動化大好きエンジニアLT会 - vol.7」での発表資料です。
https://rakus.connpass.com/event/245663/
forcia_dev_pr
June 15, 2022
Tweet
Share
More Decks by forcia_dev_pr
See All by forcia_dev_pr
第6回ゆるふわオンサイト解説
forcia_dev_pr
0
95
よくわかるFORCIAのエンジニア旅行SaaSプロダクト開発編
forcia_dev_pr
0
150
よくわかるフォルシアのエンジニア 新卒採用編
forcia_dev_pr
0
970
第5回ゆるふわオンサイト解説
forcia_dev_pr
0
69
よくわかるフォルシアのエンジニア 旅行プラットフォーム部編
forcia_dev_pr
0
2.6k
React hooks を気合で理解する
forcia_dev_pr
0
150
k8sマニフェストを Typescriptで管理したい― cdk8s+を導入してみました ―
forcia_dev_pr
0
140
第4回ゆるふわ競技プログラミングオンサイト解説
forcia_dev_pr
0
350
フォルシアのフレームワークとTypeScript
forcia_dev_pr
0
160
Other Decks in Programming
See All in Programming
上手な探索的テストとその上達方法について
matsu802
1
430
BuefyのMaintainerを引き継いだ件
kikuomax
0
330
Learning PHP and Static Analysis with PHP Parser
inouehi
1
220
Faster, greener, and happier- why Quarkus should be your next tech stack
hollycummins
0
130
シェルの履歴とイクンリメンタル検索を使う
naoya
7
2.3k
Apple Vision Pro購入RTA 1泊3日弾丸ハワイツアー / RTA: Purchase Apple Vision Pro in Hawaii
yutailang0119
0
480
スタートアップのフロントエンド事情 GENBA #2 〜Front-End Opsの現場〜
ebijun1007
1
780
LPIXEL×CADDi_kaerururu
kaerururu
3
270
Не учите алгоритмы
hellsquirrel
1
700
Honoとhtmx
yusukebe
6
1.1k
20240301_cocone_EMゆるミートアップvol6_LT資料
cocone
0
250
PHP8の機能を使って堅牢にコードを書く
fendo181
6
2k
Featured
See All Featured
Robots, Beer and Maslow
schacon
PRO
154
7.9k
It's Worth the Effort
3n
180
27k
Fireside Chat
paigeccino
19
2.5k
The Cost Of JavaScript in 2023
addyosmani
13
3.7k
Building Your Own Lightsaber
phodgson
97
5.6k
What's new in Ruby 2.0
geeforr
335
31k
Why Our Code Smells
bkeepers
PRO
330
56k
From Idea to $5000 a Month in 5 Months
shpigford
376
45k
Designing with Data
zakiwarfel
94
4.8k
Rails Girls Zürich Keynote
gr2m
91
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
34
8.8k
The Pragmatic Product Professional
lauravandoore
24
5.7k
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