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
Heroku - Git Push Deploy
Search
Yucheng Wang
May 18, 2015
Technology
73
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Heroku - Git Push Deploy
Learn more about Heroku
Yucheng Wang
May 18, 2015
More Decks by Yucheng Wang
See All by Yucheng Wang
不會寫程式也可以 - 使用 Elementor + ACF 來客製化網站
ucheng
0
440
使用 Gutenberg 和 ACF Block 重新建置網站
ucheng
0
240
使用 ManageWP 來管理網站
ucheng
0
430
提升你的古騰堡編輯體驗 - EditorsKit 介紹
ucheng
0
320
使用 ProjectHuddle 來管理客戶需求和回饋
ucheng
3
430
網站客製化、除錯的好幫手 - Chrome Developer Tools 基本介紹
ucheng
0
1k
基本網站安全防護
ucheng
1
160
使用 ACF Pro 打造客製化古騰堡區塊
ucheng
1
560
使用 Admin Menu Editor 打造簡單易用的後台
ucheng
0
220
Other Decks in Technology
See All in Technology
「早く出す」より「事業に効く」 ── 顧客の業務サイクルから逆算するAI時代の二重ループ開発と「変化の設計者」 / devsumi2026
rakus_dev
1
240
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5.3k
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
190
Terraform共通モジュールをチーム横断で“変えられる”運用へ ― リリースと適用の分離
kekke_n
1
3k
ADDF - ループエンジニアリングするフレームワークを作ったら/I Didn't Set Out to Build Loop Engineering, But ADDF Did
fruitriin
0
120
公式ドキュメントの歩き方etc
coco_se
0
100
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
15
110k
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
1.2k
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.4k
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
150
10年目を迎えた「ABEMA」がどのように AI 活用を推進して、AI 駆動開発にシフトしているのか / How ABEMA, entering its 10th year, is promoting the use of AI and shifting toward AI-driven development
miyukki
0
140
しくみを学んで使いこなそう GitHub Copilot app
torumakabe
2
240
Featured
See All Featured
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
390
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
650
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.7k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
410
Leo the Paperboy
mayatellez
8
1.9k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Abbi's Birthday
coloredviolet
3
8.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.7k
Skip the Path - Find Your Career Trail
mkilby
1
170
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