使用GitLab将Node.js应用程序连续部署到Heroku

时间:2016-08-10 23:37:30

标签: node.js heroku gitlab gitlab-ci

有关于Ruby和Python应用程序部署的教程,但我找不到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

是否有人要.gitlab-ci.yml分享?

2 个答案:

答案 0 :(得分:3)

我找到了一篇关于在Heroku上进行持续集成的详细文章:

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

.gitlab-ci.yml文件样本:

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

答案 1 :(得分:3)

  1. 创建项目
 npm init -y
 npm i  #install dependencies 
  1. 在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. 创建一个heroku项目

    1. 选择 NEW -> 创建新应用
    2. 设置应用名称选择区域
    3. 点击创建应用
  2. Gitlab安装程序创建新的仓库或添加到gitlab网站上给出的现有项目

  3. 创建一个.gitlab-ci.yml文件

    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. 设置 HEROKU_API_KEY
    1. 设置-> CI / CD->变量->展开
    2. 输入变量键-> .gitlab-ci.yml中的变量名
    3. 输入变量值-> Heroku Api键
  5. 获取Heroku Api密钥

    1. Heroki Dashborad->帐户设置
  6. 在Gitlab上设置跑步者

    1. 设置-> CI / CD->变量->展开
      1. 特定跑步者
        1. 安装gitlab-runner
        2. Windows
        3. Linux
        4. MacOS
        5. 有关设置步骤here
      2. 共享跑步者
        1. 只需单击禁用共享运行程序以启用共享运行程序
  7. 将文件推送到gitlab,它将自动部署在heroku上

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