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
250
GCP使ってテスト自動化したい.pdf
シュプレ
December 08, 2018
Tweet
Share
More Decks by シュプレ
See All by シュプレ
エンジニア(?)にオススメの本
spre55
0
170
PHPエンジニアが転職してGoを書き始めたら楽しくなってきた話.pdf
spre55
2
1.3k
はじめてのCode4兄弟
spre55
0
300
2016HACKDAYS_52_HelloAgain
spre55
0
81
LANケーブル圧着入門
spre55
0
110
できるSEO! ver 2.1
spre55
0
63
Web班番外編 jQuery
spre55
0
140
pre講義 jQuery
spre55
0
100
Other Decks in Technology
See All in Technology
業務の煩悩を祓うAI活用術108選 / AI 108 Usages
smartbank
9
19k
AI時代のアジャイルチームを目指して ー スクラムというコンフォートゾーンからの脱却 ー / Toward Agile Teams in the Age of AI
takaking22
11
4.4k
Contract One Engineering Unit 紹介資料
sansan33
PRO
0
12k
モノタロウ x クリエーションラインで実現する チームトポロジーにおける プラットフォームチーム・ ストリームアラインドチームの 効果的なコラボレーション
creationline
0
440
Keynoteから見るAWSの頭の中
nrinetcom
PRO
1
160
First-Principles-of-Scrum
hiranabe
3
1.3k
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
17k
Redshift認可、アップデートでどう変わった?
handy
1
130
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
260
技術選定、下から見るか?横から見るか?
masakiokuda
0
180
All About Sansan – for New Global Engineers
sansan33
PRO
1
1.3k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
Featured
See All Featured
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
270
Visualization
eitanlees
150
16k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
GraphQLとの向き合い方2022年版
quramy
50
14k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
110
End of SEO as We Know It (SMX Advanced Version)
ipullrank
2
3.8k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
40
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 面白い ・(ちなみにまだテスト自動化できてない)