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
48
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
300
使用 Gutenberg 和 ACF Block 重新建置網站
ucheng
0
99
使用 ManageWP 來管理網站
ucheng
0
270
提升你的古騰堡編輯體驗 - EditorsKit 介紹
ucheng
0
210
使用 ProjectHuddle 來管理客戶需求和回饋
ucheng
3
310
網站客製化、除錯的好幫手 - Chrome Developer Tools 基本介紹
ucheng
0
880
基本網站安全防護
ucheng
1
85
使用 ACF Pro 打造客製化古騰堡區塊
ucheng
1
370
使用 Admin Menu Editor 打造簡單易用的後台
ucheng
0
120
Other Decks in Technology
See All in Technology
MySQLのロックの種類とその競合
yoku0825
6
1.6k
Git 研修 Advanced【MIXI 24新卒技術研修】
mixi_engineers
PRO
0
200
Luupの開発組織におけるインシデントマネジメントの変遷 ver.RoadtoSRENEXT2024
grimoh
1
270
Scaling Technical Excellence at 104: Evolution in AWS and Developer Empowerment
scotthsieh825
1
160
AOAI Dev Day LLMシステム開発 Tips集
hirosatogamo
15
3.8k
公共領域から学ぶ クラウド移行についてエンジニアが意識していること
kawakawa2222
0
140
さらに高品質・高速化を目指すAI時代のテスト設計支援と、めざす先 / AI Test Lab vol.1
shift_evolve
0
190
AWSで”最小権限の原則”を実現するための考え方 /20240722-ssmjp-aws-least-privilege
opelab
10
4.4k
年間一億円削減した時系列データベースのアーキテクチャ改善~不確実性の高いプロジェクトへの挑戦~
lycorptech_jp
PRO
3
2.9k
エンジニア向け会社紹介資料
caddi_eng
14
230k
累計ダウンロード数1億8000万を超えるアプリケーションプラットフォームのレガシーシステム脱却とモダン化への道
kmitsuhashi
0
120
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
190
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
506
110k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
20
7.2k
Side Projects
sachag
451
42k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
23
1.9k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Designing Experiences People Love
moore
136
23k
Designing for humans not robots
tammielis
247
25k
Infographics Made Easy
chrislema
238
18k
The Power of CSS Pseudo Elements
geoffreycrofte
64
5.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
224
21k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
277
13k
What’s in a name? Adding method to the madness
productmarketing
PRO
21
2.9k
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