gpt4 book ai didi

heroku - Gitlab CI/CD env var availabel only on master

转载 作者:行者123 更新时间:2023-12-05 01:11:44 24 4
gpt4 key购买 nike

如果我推送到 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 env config

.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 key 变量被设置为 protected

protected 变量仅对 protected 分支和 protected 标签可见。这就是为什么它适用于 master 但不适用于 dev。

更多信息:https://gitlab.com/help/ci/variables/README#protect-a-custom-variablehttps://gitlab.com/help/user/project/protected_branches.md

您的选择是:要么删除 protected 标志,要么为您的不 protected 分支引入另一个带有另一个 api key 的不 protected 变量,这将不太敏感。

关于heroku - Gitlab CI/CD env var availabel only on master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62719239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com