使用 gitlab ci cd 管道时访问节点 js 应用程序中的环境变量

问题描述

我正在使用 gitlab ci cd 管道将我的应用程序部署到 ubuntu 服务器。我有不同的 .env 文件用于本地和 dev env 并且它不是 git repo 的一部分(包含在 gitignore 中)如何在部署到 ubuntu 服务器时在我的应用程序中获取 env 变量

我的 gitlab-ci.yml

stages:
     - deploy
cache:
  paths:
    - node_modules/
deploy:
    stage: deploy
    script:
      - npm install
      - sudo pm2 delete lknodeapi || true
      - sudo pm2 start server.js --name lknodeapi
  

解决方法

我猜你正在寻找这个 -Create Variables Gitlab。你可以在 ui 中创建你的环境变量,然后像下面一样更改你的 gitlab-ci.yml

stages:
     - deploy
cache:
  paths:
    - node_modules/
deploy:
    stage: deploy
    script:
      - echo "NGINX_REPO_KEY"=$NGINX_REPO_KEY >> ".env"
      - npm install
      - sudo pm2 delete lknodeapi || true
      - sudo pm2 start server.js --name lknodeapi

这将在根文件夹中创建一个 .env 文件并将您的变量放入其中。