Continuous integration 如何在gitlab-ci.yaml中设置环境变量?

Continuous integration 如何在gitlab-ci.yaml中设置环境变量?,continuous-integration,gitlab,devops,continuous-deployment,gitlab-ci-runner,Continuous Integration,Gitlab,Devops,Continuous Deployment,Gitlab Ci Runner,我的gitlab ci cd配置文件使用了许多环境变量。为了设置它们,我使用gitlab ci cd secret变量 例如,开发人员部署部分: - echo "====== Deploy to dev server ======" # Add target server`s secret key - apk add git openssh bash - mkdir ~/.ssh - echo $DEV_SERVER_SECRET_KEY_BASE_64 | base64 -d > ~/.

我的gitlab ci cd配置文件使用了许多环境变量。为了设置它们,我使用gitlab ci cd secret变量

例如,开发人员部署部分:

- echo "====== Deploy to dev server ======"
# Add target server`s secret key
- apk add git openssh bash
- mkdir ~/.ssh
- echo $DEV_SERVER_SECRET_KEY_BASE_64 | base64 -d > ~/.ssh/id_rsa
- chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
- echo "Test ssh connection for"
- echo "$DEV_SERVER_USER@$DEV_SERVER_HOST"
- ssh -o StrictHostKeyChecking=no -T "$DEV_SERVER_USER@$DEV_SERVER_HOST"
# Delploy
- echo "Setup target server directories"
- TARGET_SERVER_HOST=$DEV_SERVER_HOST TARGET_SERVER_USER=$DEV_SERVER_USER TARGET_SERVER_APP_FOLDER=$DEV_SERVER_APP_FOLDER pm2 deploy pm2.config.js dev setup 2>&1 || true
- echo "make deploy"
- TARGET_SERVER_HOST=$DEV_SERVER_HOST TARGET_SERVER_USER=$DEV_SERVER_USER TARGET_SERVER_APP_FOLDER=$DEV_SERVER_APP_FOLDER pm2 deploy pm2.config.js dev
我在project中有5个存储库和3个服务器(dev、prepod、prod)。所以我必须管理很多变量。使用gitlab ci cd secret variables管理所有这些变量,这非常有害。我看不到它,更改它-只删除和创建。我同意将其用于秘密ssh密钥,但它不适合指定文件夹、主机等的名称


是否有其他方法向ci cd脚本提供变量?

您是否找到了将GitLab ENV传递给脚本的方法(通过process.ENV或其他方法)?