There are tutorials covering the deployment of Ruby and Python apps but I can\'t find good documentation or examples for NodeJS.
http://docs.gitlab.com/ce/ci/examples/t
I have found a detailed article for continuous integration on Heroku:
https://medium.com/@seulkiro/deploy-node-js-app-with-gitlab-ci-cd-214d12bfeeb5
Sample .gitlab-ci.yml file :
https://gitlab.com/seulkiro/node-heroku-dpl
npm init -y
npm i #install dependencies
"engines": {
"node": "8.12.0", //node version
"npm": "6.4.1" //npm version
},
"scripts": {
"start": "node app.js", //heroku will using the following script to run node app
}
create a heroku project
Gitlab setup create new repo or add to exist project given on gitlab website
create a .gitlab-ci.yml file
image: node:latest
stages:
- production
production:
type: deploy
stage: production
image: ruby:latest
script:
- apt-get update -qy
- apt-get install -y ruby-dev
- gem install dpl
- dpl --provider=heroku --app=APPNAME_OF_Heroku App --api-key=$HEROKU_API_KEY # security add the heroku api to CI/CD setting
only:
- master #branch name to deploy on heroku
Get the Heroku Api Key
set the Runner on Gitlab
push the files to gitlab it will automatically deploy on heroku
git add . #to add all the files)
git commit -m "message" #to commit files
git push origin master