我是gitlab CI/CD设置的新手。我不想将敏感凭据(如API密钥、密码等)放入我的分支中。为此,GitLab(以及其他CI/CD服务)能够设置环境变量。
到目前为止,我已经做了以下工作:
Via UI (Project ⇒ Settings ⇒ CI/CD ⇒ Variables)
First go to Project ⇒ Settings ⇒ CI/CD ⇒ Variables and add them like this: enter image description here
Now here trying to get the File with all your config-values(e.g. with dotenv).
require("dotenv"); module.exports = process.env.NODE_ENV.trim() === "production" ? _config.production : _config.development;
当前的 .gitlab-ci.yaml 文件为:
image: node:8.9.0
cache:
paths:
- node_modules/
stages:
- ver
- init
- test
- build
- deploy
ver:
stage: ver
script:
- node -v
init:
stage: init-dev
script:
- npm install
tags:
- dev_server
only:
- dev
variables:
ENV_PRODUCTION: "/builds/AkdiD/8/abcde/projectName/ENV_PRODUCTION"
test:
stage: test
script:
- npm test
build:
stage: build
script:
- echo "BUILD_VERSION=production" >> build.env
artifacts:
reports:
dotenv: build.env
deploy:
stage: deploy-dev
script:
- npm run killcurrent
- echo $ENV_PRODUCTION
- echo $BUILD_VERSION
- npm run staging
tags:
- dev_server
only:
- dev
问题: 我需要将ENV_PRODUCTION
文件名放在哪里(yaml文件或其他地方),以便服务器获取该值?
编辑变量如下所示- 但服务器仍未获取这些变量。我是否应更改/放置.gitlab-ci.yml文件中的某些内容?