Aller au contenu principal

Toutes les variables

Les variables se définissent dans le .gitlab-ci.yml du projet, ou dans GitLab (Settings / CI/CD / Variables) quand elles sont confidentielles ou qu'elles changent selon l'environnement. Chaque page de job liste celles dont il a besoin.

Socle​

Nom de la variableContenuExempleRemarque
CI_TEMPLATE_VERSIONVersion des templates : tag du projet kgaut/gitlab-ci-templates0.4.32sert aux include et au téléchargement des scripts
CI_TEMPLATE_SCRIPTS_URLURL du dossier scripts/ des templates, à la version utiliséehttps://gitlab.exemple.fr/kgaut/gitlab-ci-templates/-/raw/0.4.32/scriptspar défaut sur l'instance qui exécute le pipeline : $CI_SERVER_URL/kgaut/gitlab-ci-templates/-/raw/$CI_TEMPLATE_VERSION/scripts
PREPROD_BRANCHNom de la branche de l'environnement de preprodpreprodpar défaut preprod
ENV_PROD_DISABLEDDésactiver l'environnement de prod1par défaut 0
ENV_PREPROD_DISABLEDDésactiver l'environnement de preprod1par défaut 0

Connexion au serveur​

Nom de la variableContenuExempleRemarque
SSH_CHAINChaine de connexion SSHssh user@127.0.0.1avec -p <port> si le port n'est pas 22
SSH_USERUtilisateur sshuserutilisé par les envois rsync
SSH_HOSTIP ou hostname du serveur127.0.0.1utilisé par les envois rsync et le balayage des clés d'hôte
SSH_PORTPort SSH du serveur si différent de 222222par défaut 22
SSH_PRIVATE_KEYClé ssh privée pour se connecter au serveurComment générer une clé ssh
SSH_KNOWN_HOSTSClés d'hôte du serveur, au format known_hosts (variable CI de type « Variable » ou « File »)serveur.fr ssh-ed25519 AAAA…Clés d'hôte SSH ; non définie, le serveur est balayé à chaque job ; définie mais vide, le job échoue
SSH_KNOWN_HOSTS_FILEFichier known_hosts versionné dans le projet, relatif à sa racine.gitlab/ssh_known_hostsutilisé si SSH_KNOWN_HOSTS est vide ; absent, vide ou sans le serveur visé, le job échoue
PROJECT_ROOTChemin relatif ou absolu vers la racine du projet sur le serveur~/public_html
PROJECT_URLUrl du site, utilisée dans le nom des dumpsmonsite.com

Sauvegardes et diffs​

Nom de la variableContenuExempleRemarque
DB_PATHDossier relatif à la racine du projet devant contenir les dumpsfiles/dumpscréé au besoin
DISABLE_PROD_DUMP_ON_DEPLOYDésactiver le backup prod lors des déploiements1par défaut 0
DISABLE_PREPROD_DUMP_ON_DEPLOYDésactiver le backup preprod lors des déploiements1par défaut 0
MYSQL_BACKUP_DATABASEBase sauvegardée par mysql-backupmonsite_pppar environnement
MYSQL_BACKUP_KEEPNombre de dumps conservés par environnement par mysql-backup2par défaut 3
DAYS_DUMP_TO_KEEPNombre de jours de dump à garder7par défaut 7
DAYS_DUMP_TO_KEEP_PRODNombre de jours de dump à garder en prod7par défaut $DAYS_DUMP_TO_KEEP
DAYS_DUMP_TO_KEEP_PREPRODNombre de jours de dump à garder en preprod3par défaut $DAYS_DUMP_TO_KEEP
DIFFS_PATHDossier relatif à la racine du projet devant contenir les patchs générés par les jobs de difffiles/diffscréé au besoin

Drupal​

Nom de la variableContenuExempleRemarque
DRUSH_BINChemin relatif à la racine du projet vers le binaire drushvendor/bin/drushpar défaut vendor/bin/drush
DRUSH_ALIASAlias drush ou paramètres supplémentaires, découpés comme par un shell (guillemets compris)@monsite --uri="mon site.fr"ne pas le définir si inutile ; rien n'y est exécuté
DRUPAL_ROOT_PATHChemin relatif à la racine du projet vers le docrootwebpar défaut web
DRUPAL_SITE_PATHDossier du site, relatif à la racine du projetweb/sites/defaultpar défaut web/sites/default
DRUPAL_CONFIG_PATHChemin relatif à la racine du projet vers le dossier de config syncconfig/syncpar défaut config/sync
MIGRATION_SCRIPT_PATHDossier des scripts de migration, relatif à la racine du projetscriptspar défaut scripts
MIGRATION_SCRIPT_PREDEPLOY_PATHDossier des scripts de pré-déploiementscripts/pre-deploypar défaut $MIGRATION_SCRIPT_PATH/pre-deploy
MIGRATION_SCRIPT_POSTDEPLOY_PATHDossier des scripts de post-déploiementscripts/post-deploypar défaut $MIGRATION_SCRIPT_PATH/post-deploy

Symfony​

Nom de la variableContenuExempleRemarque
SYMFONY_PHP_BINBinaire PHP des jobs Symfony/usr/bin/php8.5par défaut php
SYMFONY_COMPOSER_BINComposer des jobs Symfony (commande du PATH ou fichier du projet)composer.pharpar défaut composer
SYMFONY_CONSOLEConsole Symfony, relative à la racine du projetbin/consolepar défaut bin/console
SYMFONY_APP_ENVAPP_ENV des commandes Symfonyprodpar défaut prod, en prod comme en preprod
SYMFONY_MIGRATIONSLancer les migrations Doctrine au déploiement0par défaut 1
SYMFONY_SCHEMA_VALIDATEValider le schéma Doctrine au déploiement (bloquant)0par défaut 1

Assets​

Nom de la variableContenuExempleRemarque
PATH_TO_THEMEDossier contenant le package.json./web/themes/custom/mon_theme
ASSETS_IMAGEImage docker de la compilationnode:20
ASSETS_ARTEFACTSDossier contenant le résultat du build./web/themes/custom/mon_theme/css
ASSETS_ARTEFACTS_TARGETDossier du serveur qui reçoit le résultat du build, relatif à la racine du projet./web/themes/custom/mon_theme

Après le déploiement​

Nom de la variableContenuExempleRemarque
DEPLOY_CHECK_URLURL qui doit répondre en 2xx après le déploiementhttps://monsite.com/loginpar environnement ; sans valeur, pas de contrôle
DEPLOY_CHECK_RETRIESNombre de tentatives du contrôle après déploiement3par défaut 5
CI_TRACKING_ENDPOINTAdresse du service de suivi des déploiementshttps://suivi.exemple.fr/api/deploysans valeur, pas de suivi
CI_TRACKING_TOKENJeton d'authentification auprès du service de suivi et de métriquesmasquée
CI_TRACKING_PROJECTIdentifiant du projet dans le service de suivi et de métriquesmon-projet
SENTRY_ORGSlug de l'organisation Sentrymon-organisation
SENTRY_PROJECTSlug du projet Sentrymon-projet
SENTRY_AUTH_TOKENJeton d'authentification à Sentry, à définir dans les variables CI sur le projet gitlabmasquée
SENTRY_LOG_LEVELNiveau de journalisation de sentry-clidebugpar défaut info

QA​

Nom de la variableContenuExempleRemarque
QA_ON_PREPRODLancer les jobs QA sur la branche de preprod"true"par défaut "false"
RUNNER_CACHE_DOCKER_IMAGEImage docker du job qa:cache-warmup (cache Composer des jobs QA)wodby/drupal-php:8.3-devpar défaut wodby/drupal-php:7.4-dev
PHPCS_DOCKER_IMAGEImage docker de phpcswodby/drupal-php:8.3-devpar défaut wodby/drupal-php:7.4-dev
PHPCS_QA_FILEFichier de sortie de phpcsfiles/phpcs.txtpar défaut files/phpcs.txt
PHPCS_CONFIG_FILEFichier de config phpcsphpcs.xmlpar défaut phpcs.xml
PHPCS_ALLOW_FAILURE"true" : un échec de phpcs n'arrête pas la pipeline"false"par défaut "true"
PHPSTAN_DOCKER_IMAGEImage docker de phpstanwodby/drupal-php:8.3-devpar défaut wodby/drupal-php:7.4-dev
PHPSTAN_QA_FILEFichier de sortie de phpstanfiles/phpstan.txtpar défaut files/phpstan.txt
PHPSTAN_CONFIG_FILEFichier de config phpstanphpstan.neonpar défaut phpstan.neon
PHPSTAN_ALLOW_FAILURE"true" : un échec de phpstan n'arrête pas la pipeline"false"par défaut "true"
PHPUNIT_DOCKER_IMAGEImage docker de phpunitwodby/drupal-php:8.3-devpar défaut wodby/drupal-php:7.4-dev
PHPUNIT_ALLOW_FAILURE"true" : un échec de phpunit n'arrête pas la pipeline"true"par défaut "false"
CI_METRIC_ENDPOINTAdresse du service qui reçoit les métriques QAhttps://suivi.exemple.fr/api/metricsans valeur, pas d'envoi

Documentation​

Nom de la variableContenuExempleRemarque
DOCUSAURUS_FOLDERDossier contenant la documentationdocspar défaut docs