Je suis nouveau dans les paramètres CI/CD de gitlab. Je ne veux pas mettre d'identifiants sensibles (comme des clés API, des mots de passe...) dans ma branche. Pour cela, GitLab (et d'autres services CI/CD) sont capables de définir des variables d'environnement.
Ce que j'ai fait jusqu'à présent :
-
Via l'interface utilisateur (Paramètres du projet Variables CI/CD)
Allez d'abord dans Project Settings CI/CD Variables et ajoutez-les comme suit : entrer la description de l'image ici
Maintenant, nous essayons d'obtenir le fichier avec toutes les valeurs de configuration (par exemple avec dotenv).
require("dotenv"); module.exports = process.env.NODE_ENV.trim() === "production" ? _config.production : _config.development;
Le fichier .gitlab-ci.yaml actuel est :
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
Question Où dois-je le conserver ? ENV_PRODUCTION
nom du fichier (fichier yaml ou autre) pour que le serveur prenne cette valeur ? ?
Variable éditée comme ceci Le serveur ne récupère toujours pas ces variables. Est-ce que je dois changer ou mettre quelque chose dans le fichier .gitlab-ci.yml ?