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
kargoの魅力について伝える
magisystem0408
0
210
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
170
レンジャーシステムズ | 会社紹介(採用ピッチ)
rssytems
0
150
生成AIをより賢く エンジニアのための RAG入門 - Oracle AI Jam Session #20
kutsushitaneko
4
250
第3回Snowflake女子会_LT登壇資料(合成データ)_Taro_CCCMK
tarotaro0129
0
190
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
1
250
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
How to be an AWS Community Builder | 君もAWS Community Builderになろう!〜2024 冬 CB募集直前対策編?!〜
coosuke
PRO
2
2.8k
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Speed Design
sergeychernyshev
25
670
Side Projects
sachag
452
42k
Docker and Python
trallard
42
3.1k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
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 ご静聴 ありがとうございました