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
240
GCP使ってテスト自動化したい.pdf
シュプレ
December 08, 2018
Tweet
Share
More Decks by シュプレ
See All by シュプレ
エンジニア(?)にオススメの本
spre55
0
160
PHPエンジニアが転職してGoを書き始めたら楽しくなってきた話.pdf
spre55
2
1.2k
はじめてのCode4兄弟
spre55
0
270
2016HACKDAYS_52_HelloAgain
spre55
0
76
LANケーブル圧着入門
spre55
0
100
できるSEO! ver 2.1
spre55
0
57
Web班番外編 jQuery
spre55
0
130
pre講義 jQuery
spre55
0
97
Other Decks in Technology
See All in Technology
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
4
300
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
54
21k
Reach American Airlines®️ Instantly: 19 Calling Methods for Fast Support in the USA
flyamerican
1
180
React開発にStorybookとCopilotを導入して、爆速でUIを編集・確認する方法
yu_kod
1
300
CDKTFについてざっくり理解する!!~CloudFormationからCDKTFへ変換するツールも作ってみた~
masakiokuda
1
180
VGGT: Visual Geometry Grounded Transformer
peisuke
1
220
衛星運用をソフトウェアエンジニアに依頼したときにできあがるもの
sankichi92
1
160
AWS CDKの仕組み / how-aws-cdk-works
gotok365
8
300
ビジネス職が分析も担う事業部制組織でのデータ活用の仕組みづくり / Enabling Data Analytics in Business-Led Divisional Organizations
zaimy
1
220
fukabori.fm 出張版: 売上高617億円と高稼働率を陰で支えた社内ツール開発のあれこれ話 / 20250704 Yoshimasa Iwase & Tomoo Morikawa
shift_evolve
PRO
2
8.1k
freeeのアクセシビリティの現在地 / freee's Current Position on Accessibility
ymrl
2
240
How to Quickly Call American Airlines®️ U.S. Customer Care : Full Guide
flyaahelpguide
0
150
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.4k
Documentation Writing (for coders)
carmenintech
72
4.9k
KATA
mclloyd
30
14k
Raft: Consensus for Rubyists
vanstee
140
7k
A Tale of Four Properties
chriscoyier
160
23k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
740
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
4 Signs Your Business is Dying
shpigford
184
22k
The Invisible Side of Design
smashingmag
301
51k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
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 面白い ・(ちなみにまだテスト自動化できてない)