Publishing

AJ

...but honestly y'all probably know me by now

Deployment

GitHub Pages

Heroku

Other options

GitHub Pages

Free

Static sites

Automatic with git pushes

GitHub Pages types

Project pages -> gh-pages branch

User/org pages -> master branch, $username.github.io repo

You can also use a docs/ directory or gh-pages for user/org pages

Docs

Demo time

GitHub Pages goodies

Automatic Jekyll builds

Custom domains with a CNAME file (note: no HTTPS)

Heroku

Managed hosting

Designed for dynamic apps

"Managed hosting"

You don't worry about OS upgrades, etc.

"Just run my app" -> Heroku just runs your app

Procfile

A file declaring different kinds of processes

Web workers, job queues, etc.

Procfile example

web: node index.js

Dyno

Compute unit on Heroku

Basically just a container running a kind of process from your app

You decide how many dynos of which kind

Scaling

Deployment

$ heroku create
$ git push heroku master

Demo

Logs on Heroku

Aggregated from all sources

Apps in dynos, Heroku dyno manager, etc.

1.5k lines

heroku logs --tail

Demo

Databases

Heroku addons

"Extra stuff"

Heroku config values tell you where to connect

Exposed in the environment

Demo

VPS

Full VM

You get root

Provider doesn't usually help you

Don't worry about this for now

Thanks y'all!

Access this presentation again

https://strugee.net/presentation-publishing/

QR code to presentation URL

Or, check out the source.