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
650
Prowを試してみた/Try Prow
Prowを試してみてわかったことなどを会社の部活のLTで話しました
まじで軽く試してみてわかったこと/これから調べる必要がありそうなことをまとめただけなので、まじで触りだけの内容です
bells17
December 24, 2019
Tweet
Share
More Decks by bells17
See All by bells17
モダンインフラの基礎を学ぼう!実践コンテナ入門
bells17
2
220
Kubernetes Code Contribution入門
bells17
5
1k
Dev ContainersとTestcontainers
bells17
3
450
アーキテクチャから学ぶKubernetesの全体像
bells17
20
13k
Controllerを作ってみよう ~ Kubernetes Controllerハンズオン ~
bells17
7
1k
Kubernetesに対する理解を高めてKubernetesの「わからない」を減らそう
bells17
19
4.6k
KubernetesとCoreDNSについて理解する
bells17
3
2.5k
KEP-3063: Dynamic resource allocation
bells17
0
370
kube-proxy入門
bells17
9
2.2k
Other Decks in Technology
See All in Technology
Taming you application's environments
salaboy
0
180
iOSチームとAndroidチームでブランチ運用が違ったので整理してます
sansantech
PRO
0
130
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
Lambdaと地方とコミュニティ
miu_crescent
2
370
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
940
AWS Lambdaと歩んだ“サーバーレス”と今後 #lambda_10years
yoshidashingo
1
170
CysharpのOSS群から見るModern C#の現在地
neuecc
2
3.2k
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
7
730
Featured
See All Featured
How to Ace a Technical Interview
jacobian
276
23k
4 Signs Your Business is Dying
shpigford
180
21k
The Cost Of JavaScript in 2023
addyosmani
45
6.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
28
2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
93
16k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Adopting Sorbet at Scale
ufuk
73
9.1k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Faster Mobile Websites
deanohume
305
30k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
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/ 参考