【问题标题】:How to use Gitlab CI to deploy a Showoff application on Heroku如何使用 Gitlab CI 在 Heroku 上部署 Showoff 应用程序
【发布时间】:2017-05-21 05:49:02
【问题描述】:

我已在Heroku 上成功部署了一个炫耀演示文稿。因为 Heroku 使得集成 Github 变得如此容易,所以我还能够添加一个 Github repository 自动部署在 Heroku 上。

我想在 Gitlab 中设置相同的东西。有人可以帮我设置一下吗?

Github使用的app.json如下:

{
  "name": "lunar-teach",
  "scripts": {
  },
  "env": {
    "LANG": {
      "required": true
    },
    "RACK_ENV": {
      "required": true
    }
  },
  "formation": {
  },
  "addons": [

  ],
  "buildpacks": [
    {
      "url": "heroku/ruby"
    }
  ]
}

【问题讨论】:

    标签: ruby-on-rails git heroku gitlab


    【解决方案1】:

    使用以下.gitlab-ci.yml 配置:

    要使此配置生效,您需要获取您的 heroku API key

    首先定义您要使用的阶段, 如果您想在 CI 管道中添加测试,请在此处添加:

    stages:
      - staging
      - production
    

    对于上面定义的每个阶段,确保您创建了相应的 heroku 应用程序,并且每个 heroku 应用程序都添加了一个 ruby 构建包。

    现在,做一些家务,并确保一切都是最新的

    before_script:
      - apt-get update -qy
    

    现在,对于您之前定义的每个阶段,描述您需要的 ruby​​ 版本。

    截至 2017 年 1 月,showoff 使用 Ruby v2.2.6,检查 Ruby 文档后更新图像

    为每个阶段添加$HEROKU_APP-NAME$HEROKU_API_KEY

    staging:
      image: ruby:2.2
      stage: staging
      script:
        - gem install dpl
        - dpl --provider=heroku --app=$HEROKU_APP-NAME --api-key=$HEROKU_PRODUCTION_API_KEY --strategy=git
      only:
        - staging
    
    production:
      image: ruby:2.2
      stage: production
      script:
        - gem install dpl
        - dpl --provider=heroku --app=gitlab-ci-ruby-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY --strategy=git
      only:
        - master
    

    完整的脚本如下所示:

    stages:
      - staging
      - production
    
    before_script:
      - apt-get update -qy
    
    staging:
      image: ruby:2.2
      stage: staging
      script:
        - gem install dpl
        - dpl --provider=heroku --app=gitlab-ci-ruby-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY --strategy=git
      only:
        - staging
    
    production:
      image: ruby:2.2
      stage: production
      script:
        - gem install dpl
        - dpl --provider=heroku --app=gitlab-ci-ruby-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY --strategy=git
      only:
        - master
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-29
      • 2017-09-01
      • 2021-02-11
      • 2017-05-26
      • 2020-07-03
      • 2019-06-03
      • 2020-01-19
      • 2021-07-27
      相关资源
      最近更新 更多