66 lines
2.7 KiB
Markdown
66 lines
2.7 KiB
Markdown
---
|
|
title: Heroku Deployment Guide
|
|
---
|
|
1. Create a Heroku account.
|
|
|
|
2. After making an account, you can go to your <a href='https://dashboard.heroku.com/apps' target='_blank' rel='nofollow'>dashboard</a>
|
|
|
|
3. Click the + sign in the top right hand corner and click Create New App (just like you're making a new repo on github). Give it a name, and click Create.
|
|
|
|
1. After creating the app you'll see its name in your dashboard. Click on it.
|
|
|
|
2. You'll be taken to a dashboard for that app. Click on the Deploy tab.
|
|
|
|
3. There you'll be pleased to find that you can connect to a github repo. In the Deployment Method section, choose Github and authenticate by signing into Github.
|
|
|
|
4. Right below that, fill in your github repo name. (This of course requires that you've pushed a repo to github from either cloud9 or your local machine...and that you've correctly configured it. More on that below.)
|
|
|
|
5. Scroll down again and click Automatic Deploy or scroll down even more and click Manual Deploy. After a few moments you should see your app running at your-repo-name.herokuapp.com. Sweet.
|
|
|
|
## Creating your app locally or on Cloud9
|
|
|
|
1. Make a new folder called timestamp-microservice (or whatever your project is called).
|
|
|
|
`$ mkdir timestamp-microservice && cd timestamp-microservice`
|
|
|
|
1. Create the files you're going to need:
|
|
|
|
`$ touch .env .gitignore README.md index.html server.js`
|
|
|
|
1. Install the packages that you need along the way
|
|
|
|
Examples:
|
|
|
|
`$ npm install --save express`
|
|
|
|
`$ npm install --save moment`
|
|
|
|
These will get added to a folder called node_modules in your root folder.
|
|
|
|
1. Initialize the project with a package.json by doing `$ npm init`
|
|
|
|
It'll ask you a series of questions and create a package.json file in your root folder based on your answers and its defaults. If you've already created a file called server.js as mentioned above, this _essential_ line will get added to your package.json file:
|
|
|
|
"scripts": {
|
|
|
|
"start": "node server.js"
|
|
|
|
}
|
|
|
|
If you name it anything else, though, like 'index.js', that line won't get added and you'll have to manually add that. That's the default behavior as mentioned <a href='https://docs.npmjs.com/files/package.json#default-values' target='_blank' rel='nofollow'>here</a>. You can install node modules before or after this step and they will get added to package.json automatically.
|
|
|
|
1. When you're ready, create a new repository on github, copy the remote URL, and initialize the project locally by doing:
|
|
|
|
`$ git init`
|
|
|
|
`$ git add .`
|
|
|
|
`$ git commit -m "initial commit"`
|
|
|
|
`$ git remote add origin <your github url>`
|
|
|
|
`$ git push -u origin master`
|
|
|
|
Tip: In your server.js file, make sure to use `app.listen(process.env.PORT || <default port>)` so that the app works on heroku.
|
|
|
|
Return to step 7 above. |