Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Heroku - Git Push Deploy
Yucheng Wang
May 18, 2015
Technology
0
36
Heroku - Git Push Deploy
Learn more about Heroku
Yucheng Wang
May 18, 2015
Tweet
Share
More Decks by Yucheng Wang
See All by Yucheng Wang
不會寫程式也可以 - 使用 Elementor + ACF 來客製化網站
ucheng
0
200
使用 Gutenberg 和 ACF Block 重新建置網站
ucheng
0
46
使用 ManageWP 來管理網站
ucheng
0
180
提升你的古騰堡編輯體驗 - EditorsKit 介紹
ucheng
0
140
使用 ProjectHuddle 來管理客戶需求和回饋
ucheng
3
240
網站客製化、除錯的好幫手 - Chrome Developer Tools 基本介紹
ucheng
0
830
基本網站安全防護
ucheng
1
59
使用 ACF Pro 打造客製化古騰堡區塊
ucheng
1
260
使用 Admin Menu Editor 打造簡單易用的後台
ucheng
0
94
Other Decks in Technology
See All in Technology
Custom GitHub Actions by Java
kazamori
0
290
UWBを使ってみた
norioikedo
0
430
機械学習システムのアーキテクチャとデザインパターン
washizaki
1
610
サーバレスECにおける Step Functions の使い方 〜ステートマシン全部見せます!〜
miu_crescent
0
200
情報の世界 2022年度 第11回「都市のデータ」 #情報の世界 / Data of City 2022
yumulab
0
110
oakのミドルウェアを書くときの技のらしきもの
toranoana
0
140
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.2k
データエンジニアと作るデータ文化
yuki_saito
4
1.7k
Introduction to MLOps
asei
6
1.1k
Target SDK Versionを上げない Notification runtime permission対応
napplecomputer
0
150
【toranoana.deno#7】Denoからwasmを呼び出す基礎
toranoana
0
130
ソフトウェアライセンス 2022 / Software License 2022
cybozuinsideout
PRO
1
1.1k
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
296
110k
Building Your Own Lightsaber
phodgson
94
4.6k
Visualization
eitanlees
125
11k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
351
21k
A better future with KSS
kneath
225
15k
Unsuck your backbone
ammeep
659
55k
How to name files
jennybc
40
61k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
181
15k
Writing Fast Ruby
sferik
612
57k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
172
8.4k
What’s in a name? Adding method to the madness
productmarketing
11
1.6k
Building Flexible Design Systems
yeseniaperezcruz
310
34k
Transcript
git push deploy PaaS TW Meetup #2 /her-OH-koo/
! PHP / WordPress Developer Rails newbie @uchengwang Ԧ₮ఔ Wang
Yu-Cheng http://spectator.do
How Heroku Works Twelve-Factor App
Get Start 1.Sign up 2.Install the Heroku Toolbelt 3.Create your
app
heroku local git push slug compiler slug launch dyno dyno
scale scale … stack stack Creative Commons – Attribution (CC BY 3.0) Box designed by Nono Martínez Alonso from the Noun Project compiled
None
Stack OS(ubuntu) language runtime libraries Buildpack config
None
You can run anything!
dyno • Isolated • Self-healing • Read-only • Stateless •
Recycle every 24hrs
Twelve-Factor App http://12factor.net scalability portability productivity
One codebase tracked in revision control, many deploys. I. Codebase
One codebase, one app
Explicitly declare and isolate dependencies II. Dependencies Gemfile =>dependency declaration
Bundle exec => dependency isolation
III. Config Store config in the environment An app’s config
is everything that is likely to vary between deploys (staging, production, developer environments, etc). Don’t check in to the codebase
IV. Backing Services Treat backing services as attached resources
IV. Backing Services con’t
V. Build, release, run Strictly separate build and run stages
VI. Processes stateless processes share-nothing processes
VII. Port binding Export services via port binding Containerless Add
web server by dependency declaration
VIII. Concurrency Scale out via the process model
IX. Disposability Fast startup Graceful shutdown
XI. Logs Treat logs as event streams Write logs to
file
X. Dev/prod parity Development = Staging = Production Time gap
Personal gap Tool gap Design for continuous deployment
XII. Admin processes Run admin/management tasks as one-off processes bundle
exec rake db:migrate
How about Docker?
Docker Heroku dockerfile buildpack image slug container dyno docker client
heroku client docker registry add-on http://tuhrig.de/docker-vs-heroku/
https://github.com/progrium/dokku
Spectator.do ಜࢹਓ http://spectator.do
None
Thanks for Listening @uchengwang http://spectator.do PaaS TW Meetup #2