3 votes

Configurer les variables d'environnement Gitlab CI/CD via l'interface utilisateur

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 :

  1. 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 ?

enter image description here

1voto

VonC Points 414372

Mise en place d'un Variables d'environnement personnalisées de type Fichier (GITLAB 11.11+) ne semble pas être le moyen de référencer/paramétrer une liste de variables, y compris celles contenant des informations sensibles.
Une variable de type file est généralement là pour représenter, par exemple, un certificat.

Vous devez définir des variables, éventuellement Variables d'environnement au niveau du groupe

Vous pouvez définir des variables par projet ou par groupe qui sont définies dans l'environnement du pipeline.
Les variables au niveau du groupe sont stockées en dehors du référentiel (et non dans le fichier .gitlab-ci.yml ) et sont transmises en toute sécurité à GitLab Runner, qui les rend disponibles lors de l'exécution d'un pipeline.
Pour les utilisateurs Premium qui n'utilisent pas de magasin de clés externe ou qui utilisent l'intégration de GitLab avec HashiCorp Vault, nous recommandons d'utiliser des variables d'environnement de groupe pour stocker des secrets tels que des mots de passe, des clés SSH et des informations d'identification.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X