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
Prowを試してみた/Try Prow
Search
bells17
December 24, 2019
Technology
750
0
Share
Prowを試してみた/Try Prow
Prowを試してみてわかったことなどを会社の部活のLTで話しました
まじで軽く試してみてわかったこと/これから調べる必要がありそうなことをまとめただけなので、まじで触りだけの内容です
bells17
December 24, 2019
More Decks by bells17
See All by bells17
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
1.4k
Amazon VPC CNIに学ぶCNI-LT版
bells17
3
300
コードを読んで理解するko build
bells17
1
620
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
560
スリーシェイクにおけるOSSの取り組み
bells17
4
700
コミュニティ紹介: Kubernetes Meetup Novice
bells17
1
370
社内活動の取り組み紹介 ~ スリーシェイクでこんな取り組みしてます ~
bells17
1
810
モダンインフラの基礎を学ぼう!実践コンテナ入門
bells17
2
530
Kubernetes Code Contribution入門
bells17
5
1.5k
Other Decks in Technology
See All in Technology
トークン数だけでは測れない — Claude Code 組織展開の効果検証から学んだこと
makikub
0
130
Chart.js が簡単に使えるようになっていたので OGP 画像生成に使った話
kamekyame
0
160
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
250
JJUG CCC 2026 Spring AI時代の開発こそ標準化を武器に! ― 方式・プロセス・プラットフォームの標準化
s27watanabe
2
720
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.2k
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
800
はじめてのDatadog
kairim0
0
280
Claude code Orchestra
ozakiomumkj
3
960
Unlocking the Apps
pimterry
0
230
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
840
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
320
Javaコミュニティをもっと楽しむための9箇条
takasyou
0
1.4k
Featured
See All Featured
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
130
Git: the NoSQL Database
bkeepers
PRO
432
67k
Navigating Weather and Climate Data
rabernat
0
210
Six Lessons from altMBA
skipperchong
29
4.3k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
360
Skip the Path - Find Your Career Trail
mkilby
1
140
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
150
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Fireside Chat
paigeccino
42
3.9k
Transcript
Prowを試してみた わかったところまで共有します @bells17
Prowとは?
Prow • Kubernetesを開発していくいために作られたCI/CDツール(元々はJenkinsを利用) • Githubの各種イベントをハンドリングして動作する • In-tree plugin + external
pluginによるプラグイン形式を採用 • Kubernetes関連リポジトリはだいたいProwでCI/CDが行われている • Prow自体はKubernetes, Knative, Jenkinsなどのプラットホームで動作するよう • より詳細な情報は https://github.com/kubernetes/test-infra/tree/master/prow を参照
None
Kubernetesリポジトリでの利用例
None
None
Prowを導入する上で考える必要があること
• Prowの実行環境の用意(Kubernetes, etc...) • Prow実行環境のセキュリティ設定(e.g. Prowサーバーへのアクセス制御) • Github Botアカウントの作成 •
Botアカウントの権限設定 • Prow準拠のリポジトリ運用ルールの作成 ◦ ラベルベースによる運用を行う ◦ approveなどをProwのコマンドを使用する ◦ mergeなどはすべてBotで行う ◦ etc… • In-treeプラグインで不足する部分についてはプラグインを自作する Prow導入に向けて
Prow環境の構築(できたとこまで)
• GKEクラスタを構築 • Botアカウントを用意 • Botアカウントのpersonal access tokenを生成 • Prowテスト運用用のリポジトリを用意
• Prow用のWebhookを設定 • 手元にbazelとtackleを用意 ◦ tackleは記載の方法では用意できなかったので git clone
[email protected]
:kubernetes/test-infra.git && cd test-infra/prow && make buildで生成 • tackleコマンドを実行 • Prowのプラグイン設定を行うplugins.yamlをProwにデプロイ Prow環境構築
None
とりあえずそれっぽく動く とこまではできた
• PR変更サイズに応じたサイズラベルを自動付与 • /assignによる担当者アサイン • /lgtmによるlgtmラベルの付与 できたこと • /approveによるmerge •
/ok-to-testによるCIテストの実行 • sig/docsなどの種類区分ラベルの付与 まだできてないこと
• 前ページのできてないことの検証 • triggerプラグイン実行用のサーバーの用意 • External pluginの実装&利用方法の調査 • Prowの設計思想の理解 •
Prowを利用したCI/CDパイプラインの設計 • organizationレベルでのProwに必要な権限周りの設計 Prow検証のための残タスク
Thank you!
• https://github.com/kubernetes/test-infra/tree/243bc1562d8d66094881a6d53225acb26d051 65e/prow • https://github.com/kubernetes/test-infra/blob/243bc1562d8d66094881a6d53225acb26d05 165e/prow/getting_started_deploy.md • https://github.com/kubernetes/test-infra/blob/243bc1562d8d66094881a6d53225acb26d05 165e/prow/plugins/README.md •
https://github.com/gkuga/prow-handson • https://blog.soushi.me/entry/2019/01/08/123752/ 参考