Continuous Deployment of a Node.js app to Heroku using GitLab

ⅰ亾dé卋堺 提交于 2019-12-09 04:48:40

问题


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/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 a .gitlab-ci.yml to share?


回答1:


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




回答2:


  1. create a project
 npm init -y
 npm i  #install dependencies 
  1. add the following lines in 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 app
    2. set the App name & choose a region
    3. click on Create app
  2. Gitlab setup create new repo or add to exist project given on gitlab website

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

    1. Heroki Dashborad -> Account Settings
  6. set the Runner on Gitlab

    1. Setting -> CI/CD -> Variable -> Expand
      1. Specific Runners
        1. Install the gitlab-runner
        2. Windows
        3. Linux
        4. MacOS
        5. For setup steps here
      2. Shared Runners
        1. just click Disable shared Runners to enable the shared runner
  7. 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  
    


来源:https://stackoverflow.com/questions/38885185/continuous-deployment-of-a-node-js-app-to-heroku-using-gitlab

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!