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
0
56
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
370
使用 Gutenberg 和 ACF Block 重新建置網站
ucheng
0
180
使用 ManageWP 來管理網站
ucheng
0
360
提升你的古騰堡編輯體驗 - EditorsKit 介紹
ucheng
0
260
使用 ProjectHuddle 來管理客戶需求和回饋
ucheng
3
360
網站客製化、除錯的好幫手 - Chrome Developer Tools 基本介紹
ucheng
0
970
基本網站安全防護
ucheng
1
120
使用 ACF Pro 打造客製化古騰堡區塊
ucheng
1
480
使用 Admin Menu Editor 打造簡單易用的後台
ucheng
0
180
Other Decks in Technology
See All in Technology
リーダーになったら未来を語れるようになろう/Speak the Future
sanogemaru
0
370
関係性が駆動するアジャイル──GPTに人格を与えたら、対話を通してふりかえりを習慣化できた話
mhlyc
0
140
業務効率化をさらに加速させる、ノーコードツールとStep Functionsのハイブリッド化
smt7174
2
110
能登半島災害現場エンジニアクロストーク 【JAWS FESTA 2025 in 金沢】
ditccsugii
0
280
定期的な価値提供だけじゃない、スクラムが導くチームの共創化 / 20251004 Naoki Takahashi
shift_evolve
PRO
4
360
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
150
生成AIとM5Stack / M5 Japan Tour 2025 Autumn 東京
you
PRO
0
240
The Cake Is a Lie... And So Is Your Login’s Accessibility
leichteckig
0
110
ユーザーの声とAI検証で進める、プロダクトディスカバリー
sansantech
PRO
1
110
Vibe Coding Year in Review. From Karpathy to Real-World Agents by Niels Rolland, CEO Paatch
vcoisne
0
120
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
8
4k
綺麗なデータマートをつくろう_データ整備を前向きに考える会 / Let's create clean data mart
brainpadpr
3
370
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Designing for Performance
lara
610
69k
Rails Girls Zürich Keynote
gr2m
95
14k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
970
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Unsuck your backbone
ammeep
671
58k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Optimizing for Happiness
mojombo
379
70k
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