Continuous deployment of Node.js application for Heroku using GitLab

There are tutorials on deploying Ruby and Python applications, but I can't find good documentation or examples for NodeJS.

http://docs.gitlab.com/ce/ci/examples/test-and-deploy-python-application-to-heroku.html

http://docs.gitlab.com/ce/ci/examples/test-and-deploy-ruby-application-to-heroku.html

Does anyone have .gitlab-ci.yml to share?

+8
gitlab heroku gitlab-ci
source share
2 answers

I found a detailed article for continuous integration on Heroku:

https://medium.com/@seulkiro/deploy-node-js-app-with-gitlab-ci-cd-214d12bfeeb5

Example .gitlab-ci.yml file:

https://gitlab.com/seulkiro/node-heroku-dpl

+2
source share
  1. create project
  npm init -y npm i #install dependencies 
  1. add the following lines to package.json
  "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 } 
  1. create a heroku project

    1. select NEW → Create New Application
    2. set the name of the application and select a region
    3. click on the Create Application button
  2. Gitlab setup creates a new repo or adds to an existing project listed on the gitlab website

  3. create the .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 
  4. Setting HEROKU_API_KEY
    1. Setup → CI / CD → Variable → Expand
    2. Input variable key -> variable name in .gitlab-ci.yml
    3. Input Variable Value → Heroku Api Key
  5. Get Heroku Api Key

    1. Heroki Dashborad → Account Settings
  6. install runner on gitlab

    1. Setup → CI / CD → Variable → Expand
      1. Concrete runners
        1. Install gitlab runner
        2. Windows
        3. Linux
        4. MacOS
        5. For setup steps here
      2. General runners
        1. just click Disable shared runners to enable shared runner
  7. shove files in gitlab it will automatically be deployed to geroku

     git add . #to add all the files) git commit -m "message" #to commit files git push origin master 
+1
source share

All Articles