Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何使用Gitlab CI在Heroku上部署炫耀应用程序_Ruby On Rails_Git_Heroku_Gitlab - Fatal编程技术网

Ruby on rails 如何使用Gitlab CI在Heroku上部署炫耀应用程序

Ruby on rails 如何使用Gitlab CI在Heroku上部署炫耀应用程序,ruby-on-rails,git,heroku,gitlab,Ruby On Rails,Git,Heroku,Gitlab,我已在上成功部署了一个展示演示。因为Heroku使集成Github变得非常容易,所以我还能够添加一个自动部署在Heroku上的 我想在Gitlab中设置同样的东西。有人能帮我设置一下吗 Github使用的app.json如下所示: { "name": "lunar-teach", "scripts": { }, "env": { "LANG": { "required": true }, "RACK_ENV": { "require

我已在上成功部署了一个展示演示。因为Heroku使集成Github变得非常容易,所以我还能够添加一个自动部署在Heroku上的

我想在Gitlab中设置同样的东西。有人能帮我设置一下吗

Github使用的
app.json
如下所示:

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

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

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

要使此配置正常工作,您需要获取您的

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

stages:
  - staging
  - production
对于上面定义的每个阶段,确保您创建了相应的
heroku
app,并且每个
heroku
app都添加了
ruby
buildpack

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

before_script:
  - apt-get update -qy
现在,对于前面定义的每个阶段,描述您需要的ruby版本

自2017年1月起,
shooff
使用Ruby
v2.2.6
,检查Ruby文档后更新图像

为每个阶段添加
$HEROKU\u APP-NAME
$HEROKU\u API\u密钥

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

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

要使此配置正常工作,您需要获取您的

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

stages:
  - staging
  - production
对于上面定义的每个阶段,确保您创建了相应的
heroku
app,并且每个
heroku
app都添加了
ruby
buildpack

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

before_script:
  - apt-get update -qy
现在,对于前面定义的每个阶段,描述您需要的ruby版本

自2017年1月起,
shooff
使用Ruby
v2.2.6
,检查Ruby文档后更新图像

为每个阶段添加
$HEROKU\u APP-NAME
$HEROKU\u API\u密钥

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