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
GCP使ってテスト自動化したい.pdf
Search
シュプレ
December 08, 2018
Technology
0
220
GCP使ってテスト自動化したい.pdf
シュプレ
December 08, 2018
Tweet
Share
More Decks by シュプレ
See All by シュプレ
エンジニア(?)にオススメの本
spre55
0
150
PHPエンジニアが転職してGoを書き始めたら楽しくなってきた話.pdf
spre55
2
1.2k
はじめてのCode4兄弟
spre55
0
250
2016HACKDAYS_52_HelloAgain
spre55
0
66
LANケーブル圧着入門
spre55
0
91
できるSEO! ver 2.1
spre55
0
43
Web班番外編 jQuery
spre55
0
110
pre講義 jQuery
spre55
0
83
Other Decks in Technology
See All in Technology
プロセス改善による品質向上事例
tomasagi
1
1.6k
サーバーレスアーキテクチャと生成AIの融合 / Serverless Meets Generative AI
_kensh
12
3k
[2025-02-07]生成AIで変える問い合わせの未来 〜チームグローバル化の香りを添えて〜
tosite
1
290
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
1
240
「海外登壇」という 選択肢を与えるために 〜Gophers EX
logica0419
0
500
組織貢献をするフリーランスエンジニアという生き方
n_takehata
1
1k
エンジニアの育成を支える爆速フィードバック文化
sansantech
PRO
3
660
日経電子版 x AIエージェントの可能性とAgentic RAGによって提案書生成を行う技術
masahiro_nishimi
1
290
Data-centric AI入門第6章:Data-centric AIの実践例
x_ttyszk
1
370
開発者が自律的に AWS Security Hub findings に 対応する仕組みと AWS re:Invent 2024 登壇体験談 / Developers autonomously report AWS Security Hub findings Corresponding mechanism and AWS re:Invent 2024 presentation experience
kaminashi
0
190
Developers Summit 2025 浅野卓也(13-B-7 LegalOn Technologies)
legalontechnologies
PRO
0
150
君はPostScriptなウィンドウシステム 「NeWS」をご存知か?/sunnews
koyhoge
0
720
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
521
39k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
RailsConf 2023
tenderlove
29
1k
Why Our Code Smells
bkeepers
PRO
335
57k
The Language of Interfaces
destraynor
156
24k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
8
270
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
How to train your dragon (web standard)
notwaldorf
90
5.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Unsuck your backbone
ammeep
669
57k
Transcript
GCP使ってテスト自動化した い シュプレ @spre55
これまでの社会人生活のあらすじ ソーシャルゲームを約2年半、 PHPの自社製フレームワークを使って開発・運営してた 今年9月から、クラウド右翼系の会社に転職 絶賛クラウド武者修行中
テストしていますか? ぼくはしたことない! は言い過ぎかもしれないですけど、 少なくともテストコードというものを書いてこなかった。 ユニットテスト?なにそれ状態
なぜテストコードを書いたことがなかったのか ・そういう文化がなかったし、それで売上は出ていた ・必要性を感じる機会がなかった ・品質チェックは、外部委託とかでチェックして、駄目ならそういった会社に文句を言って ればよかった
勉強会とかの懇親会にて いろんなひとにテストどうやっているか聞きまくる 「テストやってます??」 「やってますねー」 「えーすごいーくぁwせdrftgyふじこlp」
何故か唐突に劣等感を感じ始める 俺テストコード書いたこと無い テストコード書いたことない俺は駄目人間なんだ
このままじゃいけない テストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書かな きゃテストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書 かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテストコー ド書かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテスト コード書かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテ ストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書かな きゃテストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書 かなきゃテストコード書かなきゃテストコード書かなきゃテストコード書かなきゃテストコー ド書かなきゃ
そんなとき、前職を近いタイミングでやめた友人と個人 開発をはじめる
個人開発 ・とにかくスピードが命 ・遅いと飽きる ・そもそも仕事の合間にやるので、時間が確保しにくい ・そんな中テストやってる時間とれるのか??
個人開発 ・とにかくスピードが命 ・遅いと飽きる ・そもそも仕事の合間にやるので、時間が確保しにくい ・そんな中テストやってる時間とれるのか?? 自動化まで考えて、やっとテストってとっつきやすくなるのでは -> まずは自動化の仕組みを考えよう
その前に開発環境 GAE: Google App Engine (SE) 特徴 ・セキュリティとか考えなくていい(Googleの莫大なリソースの恩恵を受けれる) ・チュートリアルやって10分でHelloWorldを全世界に公開できるスピード感
じゃあ自動化どうすんの? Cloud Build 特徴 ・GCP環境でビルドを実行するサービス ・最低限のコストで安全に柔軟なビルドステップを実行できる
こっちじゃない
普段の開発 1.コードかく 2.テストコードかく (テスト駆動ならこっちが先) 3.テスト 4.githubとかで管理・レビュー 5.動作環境に反映・デプロイ
理想の開発 1.コードかく 2.テストコードかく (テスト駆動ならこっちが先) <- 自動化したい 3.テスト <- 自動化したい 4.githubとかで管理・レビュー
5.動作環境に反映・デプロイ <- 自動化したい
理想の開発 1.コードかく 2.テストコードかく (テスト駆動ならこっちが先) <- 自動化したい 3.テスト <- 自動化したい 4.githubとかで管理・レビュー
5.動作環境に反映・デプロイ <- 自動化したい このパイプライン的なものをまず作りたい
Cloud Build のワークフロー .yaml git push / tag テストとかデプロイとか 通知
Cloud Build のワークフロー .yaml git push / tag ①トリガーの設定 ②cloudbuild.yamlを
かく テストとかデプロイとか 通知
Cloud Build のワークフロー .yaml git push / tag ①トリガーの設定 ②cloudbuild.yamlを
かく テストとかデプロイとか 通知
1.トリガーの設定
None
None
None
None
None
Cloud Build のワークフロー .yaml git push / tag ①トリガーの設定 ②cloudbuild.yamlを
かく テストとかデプロイとか 通知
Cloud Build のワークフロー .yaml git push / tag ①トリガーの設定 ②cloudbuild.yamlを
かく テストとかデプロイとか 通知
2. cloudbuild.yamlをかく steps: - name: 'gcr.io/cloud-builders/gcloud' args: ['app', 'deploy', 'app.yaml']
cloudbuild.yaml GAEのデプロイ
履歴も 見れる
まとめ ・GAE は神 ・Cloud Build 面白い
まとめ ・GAE は神 ・Cloud Build 面白い ・(ちなみにまだテスト自動化できてない)