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
0
710
Prowを試してみた/Try Prow
Prowを試してみてわかったことなどを会社の部活のLTで話しました
まじで軽く試してみてわかったこと/これから調べる必要がありそうなことをまとめただけなので、まじで触りだけの内容です
bells17
December 24, 2019
Tweet
Share
More Decks by bells17
See All by bells17
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
490
Amazon VPC CNIに学ぶCNI-LT版
bells17
2
170
コードを読んで理解するko build
bells17
1
430
Kubernetes History Inspector(KHI)を触ってみた
bells17
0
450
スリーシェイクにおけるOSSの取り組み
bells17
4
550
コミュニティ紹介: Kubernetes Meetup Novice
bells17
1
280
社内活動の取り組み紹介 ~ スリーシェイクでこんな取り組みしてます ~
bells17
1
690
モダンインフラの基礎を学ぼう!実践コンテナ入門
bells17
2
410
Kubernetes Code Contribution入門
bells17
5
1.4k
Other Decks in Technology
See All in Technology
AWS DMS で SQL Server を移行してみた/aws-dms-sql-server-migration
emiki
0
270
dbtとAIエージェントを組み合わせて見えたデータ調査の新しい形
10xinc
7
1.6k
デザインとエンジニアリングの架け橋を目指す OPTiMのデザインシステム「nucleus」の軌跡と広げ方
optim
0
120
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
160
仕様駆動開発を実現する上流工程におけるAIエージェント活用
sergicalsix
10
4.8k
オブザーバビリティと育てた ID管理・認証認可基盤の歩み / The Journey of an ID Management, Authentication, and Authorization Platform Nurtured with Observability
kaminashi
2
1.5k
個人でデジタル庁の デザインシステムをVue.jsで 作っている話
nishiharatsubasa
3
5.3k
AIがコードを書いてくれるなら、新米エンジニアは何をする? / komekaigi2025
nkzn
21
14k
GPUをつかってベクトル検索を扱う手法のお話し~NVIDIA cuVSとCAGRA~
fshuhe
0
290
AIを使ってテストを楽にする
kworkdev
PRO
0
340
serverless team topology
_kensh
3
250
ストレージエンジニアの仕事と、近年の計算機について / 第58回 情報科学若手の会
pfn
PRO
4
920
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
640
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
How to train your dragon (web standard)
notwaldorf
97
6.3k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.3k
Why Our Code Smells
bkeepers
PRO
340
57k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Music & Morning Musume
bryan
46
6.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/ 参考