Heroku Gitlab CI/CD环境变量仅在主机上可用

Heroku Gitlab CI/CD环境变量仅在主机上可用,heroku,continuous-integration,gitlab,gitlab-ci,Heroku,Continuous Integration,Gitlab,Gitlab Ci,如果我推到master,它工作得很好,所有环境变量都可用,并且我成功地部署到Heroku 问题:如果我推到dev分支,它将看不到部署的环境变量 $ dpl --provider=heroku --app=$HEROKU_DEV_APP --api-key=$HEROKU_API_KEY invalid option "--api-key=" ERROR: Job failed: exit code 1 环境设置: .gitlab-ci.yml: stages: -

如果我推到master,它工作得很好,所有环境变量都可用,并且我成功地部署到Heroku

问题:如果我推到dev分支,它将看不到部署的环境变量

$ dpl --provider=heroku --app=$HEROKU_DEV_APP --api-key=$HEROKU_API_KEY
invalid option "--api-key="
ERROR: Job failed: exit code 1 
环境设置:

.gitlab-ci.yml:

stages:
  - build
  - test
  - deploy

build:
  stage: build
  image: maven:3.6.3-jdk-14
  script:
    - mvn clean package
  tags:
    - docker

test:
  stage: test
  image: maven:3.6.3-jdk-14
  script:
    - mvn test
  tags:
    - docker

deploy_dev:
  stage: deploy
  image: ruby:2.3
  script:
    - apt-get update -qy
    - apt-get install -y ruby-dev
    - gem install dpl
    - dpl --provider=heroku --app=$HEROKU_DEV_APP --api-key=$HEROKU_API_KEY
  environment:
    name: prod
    url: https://.....herokuapp.com/
  only:
    - dev
  tags:
    - docker

deploy_prod:
  stage: deploy
  image: ruby:2.3
  script:
    - apt-get update -qy
    - apt-get install -y ruby-dev
    - gem install dpl
    - dpl --provider=heroku --app=$HEROKU_PROD_APP --api-key=$HEROKU_API_KEY
  environment:
    name: prod
    url: https://.....herokuapp.com/
  when: manual
  only:
    - master
  tags:
    - docker

这是因为Heroku api密钥变量设置为受保护的

受保护的变量仅由受保护的分支和受保护的标记可见。这就是为什么它适用于master而不适用于dev

更多信息:和


您的选项是:删除受保护的标志,或者为不受保护的分支引入另一个带有api键的未受保护的变量,这会降低敏感度。

这就是我要找的!谢谢