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
Cloud Buildを気軽なコンテナ実行環境として利用する / gcpug-cloud-bu...
Search
chidakiyo
October 01, 2019
Technology
4
1.5k
Cloud Buildを気軽なコンテナ実行環境として利用する / gcpug-cloud-build-day
chidakiyo
October 01, 2019
Tweet
Share
More Decks by chidakiyo
See All by chidakiyo
GCPだけではなく Googleのプロダクトを活用し、 新サービスを作らずに創る
chidakiyo
0
1.5k
GCPでNoAdmした話
chidakiyo
4
1.1k
Other Decks in Technology
See All in Technology
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
16
6.5k
依存関係があるコンポーネントは Barrel ファイルでまとめよう
azukiazusa1
3
530
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
12
3k
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
730
トラシューアニマルになろう ~開発者だからこそできる、安定したサービス作りの秘訣~
jacopen
2
1.5k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
6
57k
データの品質が低いと何が困るのか
kzykmyzw
6
1k
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
500
転生CISOサバイバル・ガイド / CISO Career Transition Survival Guide
kanny
3
410
【Developers Summit 2025】プロダクトエンジニアから学ぶ、 ユーザーにより高い価値を届ける技術
niwatakeru
2
890
飲食店予約台帳を支えるインタラクティブ UI 設計と実装
siropaca
6
1.4k
室長と気ままに学ぶマイクロソフトのビジネスアプリケーションとビジネスプロセス
ryoheig0405
0
320
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
Building an army of robots
kneath
302
45k
Rails Girls Zürich Keynote
gr2m
94
13k
The Cult of Friendly URLs
andyhume
78
6.2k
Building Applications with DynamoDB
mza
93
6.2k
Fireside Chat
paigeccino
34
3.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
Git: the NoSQL Database
bkeepers
PRO
427
64k
Done Done
chrislema
182
16k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
33
2.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Transcript
Cloud Buildを 気軽なコンテナ実行環境 として利用する Cloud Build Day #1 @chidakiyo
自己紹介 Kiyokatsu Chida ID: @chidakiyo Engineer at Fringe81(Unipos). Unipos作ってます.(Uniposの1行目のコードを書いた人) 最近は認証基盤やCDの仕組みを作ったり.
Go と GCP が好物. GCPUG, #bq_sushiなどによく出現します. 2
今日のゴール - 明日からすぐにCloud Buildを気軽に使いたくなる! 3
話すこと ❑ 1. Cloud Build の概要(あっさりめ) ❑ 2. Cloud Build
をコンテナ実行環境として利用する 4 話さないこと ❑ Cloud Build でコンテナをビルドする方法
1. Cloud Build の概要 (あっさりめ)
正式名称は Cloud Build で、間にスペースが必要! 6 1. Cloud Build の概要
用途はコンテナをビルドするだけではない 7 1. Cloud Build の概要 ❑ コンテナをビルドしてGCRにpushする(今日は話さない) ❑ パイプラインで生成されたファイルなどをGCSにアップロードする
(artifact) ❑ コンテナを気軽に実行する
2-1. Cloud Build をコンテナ実行環 境として利用する GCSに生成したファイルをアップロードする
9 2-1. Cloud Build をコンテナ実行環境として利用する 外部のサイトから zip ファイルを取得し、 展開した CSV
ファイルの特定のカラムのみ抽出し、 GCS に出力したい。 ファイルサイズはそこそこ大きい、GCPのどのプロダクトを使います か? 質問 ✋
10 2-1. Cloud Build をコンテナ実行環境として利用する 外部のサイトから zip ファイルを取得し、 展開した CSV
ファイルの特定のカラムのみ抽出し、 GCS に出力したい。 ファイルサイズはそこそこ大きい、GCPのどのプロダクトを使います か? 質問 ✋ GCE? GAE? GKE? Functions? Dataflow?
11 2-1. Cloud Build をコンテナ実行環境として利用する 外部のサイトから zip ファイルを取得し、 展開した CSV
ファイルの特定のカラムのみ抽出し、 GCS に出力したい。 ファイルサイズはそこそこ大きい、GCPのどのプロダクトを使います か? 質問 ✋ GCE? GAE? GKE? Functions? Dataflow? それ、Cloud Build でもやれそう!
Cloud Build のパイプラインイメージ 12 2-1. Cloud Build をコンテナ実行環境として利用する /workspace にファイルを
マウント Step 1 を実行 Step 2 を実行 Step n を実行 GCR/GCS に成果物を 出力 サンプルコード マウントされたディレクトリを 複数のコンテナで順々に (*)処理していく Linuxコマンドのパイプでつなぐイメージ (*並列にも実行できます)
Demo します 13 2-1. Cloud Build をコンテナ実行環境として利用する サンプルコード
14 2-1. Cloud Build をコンテナ実行環境として利用する ❑ 手動 ❏ gcloud コマンド(gcloud
builds submit ~~) ❏ API ❑ ビルドトリガー ❏ Cloud Source Repositories、GitHub または Bitbucket のトリガー ❑ GitHub アプリトリガー(alpha) Cloud Build の実行方法
15 2-1. Cloud Build をコンテナ実行環境として利用する ❑ gcloud builds submit した際に指定したディレクトリ配下のファ
イルがそのまま圧縮されて送られる ❏ サイズ制限があるので場合によってはGCSに先に置いておき、 そこからパイプラインで取得するなどの方法で回避 ❏ 不要なファイルは .gcloudignore で除外する 実行時の注意点
16 2-1. Cloud Build をコンテナ実行環境として利用する ❑ 特にないように見える 外部への接続制限
2-2. Cloud Build をコンテナ実行環 境として利用する コンテナを気軽に実行する
18 2-2. Cloud Build をコンテナ実行環境として利用する ❑ 無料枠がある ❏ 1 日あたり
120 分までのビルド、同時ビルド数最大 10 件 ❑ Cloud BuildのSAで実行できるので、気軽にgcloudコマンドで自 動化する環境が作れる ❑ タイムアウトが長い(変更可能) ❑ スケールアップができる ❑ 並列実行も可能 Cloud Buildをコンテナ実行環境として利用する良い点
19 2-2. Cloud Build をコンテナ実行環境として利用する ❑ 何でもCloud Buildでできそうな気がしてくる ❑ 請求先アカウントに対しての無料枠なので複数プロジェクトで利用
していると無料枠がすぐ溶ける Cloud Buildをコンテナ実行環境として利用する際の注意点
20 2-2. Cloud Build をコンテナ実行環境として利用する ❑ Cloud Build 上からAppengineのデプロイ ❏
Go, scala, node, elm を含んだデプロイ ❑ gcloudコマンドを使った自動化用の環境として利用 ❏ k8sのクラスタのサイズを夜間休日に減らす ❑ Dataflowを使っていた処理を一部Cloud Build化した(?) 事例
1例 : Appengineをデプロイ(以前) 21 2-2. Cloud Build をコンテナ実行環境として利用する Go Elm
node Java Scala 個人の開発環境へのデプロイのためにローカル PCに各種言 語がインストール/設定されている必要がありました
Appengineをデプロイするイメージ 22 2-2. Cloud Build をコンテナ実行環境として利用する Cloud Build 個人PC gcloud
build submit を asyncで実行 Cloud Build(GAE) コンテナ上でElm, Type Script などをbuild gcloud app deploy でGAEアプリケーションを デプロイ
Appengineをデプロイ(以後) 23 2-2. Cloud Build をコンテナ実行環境として利用する Go Elm node Java
Scala gcloudコマンドさえインストールされていれば 自由にデプロイできるように!
24 2-2. Cloud Build をコンテナ実行環境として利用する その他、気になる方はお気軽に声をかけてください!
25 恒例のやつですが・・・ We are hiring
26 ご静聴 ありがとうございました