Variables d’environnement et secrets
Apprenez à gérer de manière sécurisée les informations sensibles et les configurations propres à chaque environnement dans GitHub Actions.
Variables d’environnement et secrets est une leçon CI/CD with GitHub Actions & DevOps Pipelines gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CI/CD with GitHub Actions & DevOps Pipelines, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CI/CD with GitHub Actions & DevOps Pipelines comprend 4 leçons au total.
Variables d'environnement et secrets : notions de base
Bienvenue dans la leçon 3 ! Dans l'intégration et le déploiement continus, vous devez souvent configurer vos chaînes avec des valeurs dynamiques ou des informations sensibles.
C'est là que les variables d'environnement et les secrets deviennent indispensables. Ils permettent à vos flux de travail de s'adapter à différents scénarios et de gérer les données sensibles en toute sécurité.
Pourquoi les utiliser dans l'intégration et le déploiement continus ?
Imaginez que vous déployiez vers différents environnements (développement, préproduction, production) ou que vous vous connectiez à des services externes avec des clés d'API.
- Flexibilité : Les variables d'environnement vous permettent de modifier le comportement sans changer le fichier du flux de travail.
- Sécurité : Les secrets protègent les données sensibles, comme les mots de passe et les jetons d'API, contre toute divulgation.
- Réutilisabilité : Définissez les configurations une seule fois et utilisez-les dans plusieurs tâches ou étapes.
Variables d'environnement dans GitHub Actions
Une variable d'environnement est une valeur dont le nom est défini dynamiquement et qui peut modifier le comportement des processus en cours d'exécution. Dans GitHub Actions, elle est essentielle pour rendre vos flux de travail configurables.
Vous pouvez définir vos propres variables d'environnement ou utiliser les nombreuses variables intégrées fournies par GitHub Actions.
Variables d'environnement intégrées de GitHub Actions
GitHub Actions fournit automatiquement de nombreuses variables d'environnement utiles et prédéfinies. Elles vous donnent des informations sur le dépôt, l'exécution du flux de travail, entre autres.
Par exemple, GITHUB_SHA est le hachage de la validation, tandis que GITHUB_REF est le nom de la branche ou de l'étiquette qui a déclenché le flux de travail.
Vous y accédez à l'aide de l'objet de contexte github dans les expressions, ou directement comme variables de l'interpréteur de commandes si elles sont associées à env.
name: Print Context Variables
on: [push]
jobs:
display_info:
runs-on: ubuntu-latest
steps:
- name: Show commit SHA
run: echo "Commit SHA: ${{ github.sha }}"
- name: Show branch/tag ref
run: echo "Ref: ${{ github.ref }}"Variables d'environnement personnalisées : portée du flux de travail
Vous pouvez définir vos propres variables d'environnement au niveau du flux de travail ou de la tâche. Les variables définies au niveau du flux de travail sont disponibles pour toutes les tâches et étapes de ce flux de travail.
Utilisez le mot-clé env au niveau supérieur du fichier de votre flux de travail pour les définir.
name: Workflow-level Env Var
on: [push]
env:
GREETING_MESSAGE: "Hello from Workflow!"
jobs:
my_job:
runs-on: ubuntu-latest
steps:
- name: Access workflow variable
run: echo "${{ env.GREETING_MESSAGE }}" # Access via env context
- name: Access workflow variable (shell)
env:
MY_VAR_IN_SHELL: ${{ env.GREETING_MESSAGE }}
run: echo "$MY_VAR_IN_SHELL" # Access as shell variableVariables d'environnement personnalisées : portée de la tâche et de l'étape
Pour répondre à des besoins plus spécifiques, définissez les variables d'environnement au niveau de la tâche ou de l'étape. Une variable définie pour une tâche est disponible pour toutes ses étapes, tandis qu'une variable définie au niveau d'une étape n'est disponible que pour cette étape.
Cela permet de contrôler précisément votre configuration.
name: Job & Step-level Env Vars
on: [push]
jobs:
my_job:
runs-on: ubuntu-latest
env:
JOB_VAR: "Value for this job"
steps:
- name: Access Job-level variable
run: echo "Job Var: ${{ env.JOB_VAR }}"
- name: Step-specific variable
env:
STEP_VAR: "Value for this step"
run: echo "Step Var: ${{ env.STEP_VAR }}"
- name: Try to access step var in another step
run: echo "Trying to access: ${{ env.STEP_VAR }}" || true # Will be emptyDécouvrir les secrets GitHub
Les variables d'environnement sont idéales pour les données non sensibles, mais qu'en est-il des informations confidentielles comme les clés d'API, les mots de passe de bases de données ou les jetons privés ?
C'est là qu'interviennent les secrets GitHub. Ils vous permettent de stocker des informations sensibles en toute sécurité et d'y accéder dans vos flux de travail sans les exposer dans le code ou les journaux de votre dépôt.
- Chiffrés : Ils sont stockés en toute sécurité par GitHub.
- Masqués : Ils sont automatiquement masqués dans les journaux des flux de travail.
- Accès contrôlé : Ils ne sont disponibles que pour certains flux de travail.
Créer des secrets GitHub
Les secrets sont créés et gérés dans les paramètres de votre dépôt ou de votre organisation sur GitHub, et non directement dans les fichiers de vos flux de travail.
- Accédez aux Paramètres de votre dépôt.
- Accédez à Secrets et variables > Actions.
- Cliquez sur Nouveau secret du dépôt (ou sur le secret d'organisation pour une portée plus large).
- Indiquez un Nom (par exemple,
MY_API_KEY) et collez la Valeur.
Une fois enregistré, vous ne pouvez plus consulter la valeur d'un secret ; vous pouvez uniquement le modifier ou le supprimer.
Utiliser les secrets dans les flux de travail
Pour utiliser un secret, faites-y référence à l'aide de l'objet de contexte secrets dans votre flux de travail, de la même manière que vous utilisez env pour les variables d'environnement.
GitHub masque automatiquement les secrets dans les journaux et remplace leurs valeurs par *** afin d'empêcher toute divulgation accidentelle.
name: Use a Secret Demo
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Display a secret (redacted)
run: echo "My secret key is: ${{ secrets.MY_API_KEY }}"
# GitHub Actions automatically redacts the value in logs.
- name: Pass secret to an environment variable
env:
API_KEY_ENV: ${{ secrets.MY_API_KEY }}
run: echo "API Key in env: $API_KEY_ENV"Bonnes pratiques de sécurité des secrets
La gestion sécurisée des secrets est essentielle à l'intégrité de votre chaîne d'intégration et de déploiement continus. Respectez toujours les recommandations suivantes :
- Principe du moindre privilège : N'accordez l'accès aux secrets que lorsque cela est absolument nécessaire.
- Ne jamais coder en dur : N'intégrez pas directement les secrets dans vos fichiers de flux de travail ni dans le code de votre dépôt.
- Éviter la journalisation : Même si GitHub masque les secrets, évitez les commandes personnalisées qui affichent du contenu et pourraient révéler accidentellement une partie des secrets.
- Renouveler régulièrement : Modifiez périodiquement vos secrets afin de réduire le risque de compromission.
- Propres à chaque environnement : Utilisez des secrets différents pour les environnements de développement, de préproduction et de production.
Vérification rapide : variables d'environnement ou secrets
Quelle affirmation décrit correctement une différence ou une fonctionnalité essentielle des variables d’environnement et des secrets de GitHub Actions ?
Récapitulatif : configurations sécurisées
Excellent ! Vous avez réussi à découvrir comment gérer les configurations dans vos flux de travail GitHub Actions.
- Les variables d’environnement vous aident à injecter des données dynamiques non sensibles dans vos exécutions de flux de travail, au niveau du flux de travail, de la tâche ou de l’étape.
- Les secrets sont essentiels pour gérer en toute sécurité les informations sensibles, comme les clés API, en veillant à ce qu’elles restent chiffrées et hors de votre code public.
- Respectez toujours les bonnes pratiques de sécurité lorsque vous travaillez avec des secrets afin de protéger vos déploiements contre les vulnérabilités.
La maîtrise de ces concepts garantit la flexibilité et la sécurité de vos chaînes CI/CD !
Questions Fréquemment Posées
La leçon « Variables d’environnement et secrets » est-elle gratuite ?
Oui — le texte complet de « Variables d’environnement et secrets » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CI/CD with GitHub Actions & DevOps Pipelines, passe à CoddyKit PRO. Le cours CI/CD with GitHub Actions & DevOps Pipelines comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Variables d’environnement et secrets » ?
Apprenez à gérer de manière sécurisée les informations sensibles et les configurations propres à chaque environnement dans GitHub Actions. Tu pratiques CI/CD with GitHub Actions & DevOps Pipelines avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer CI/CD with GitHub Actions & DevOps Pipelines ?
Aucune expérience préalable n'est requise. CI/CD with GitHub Actions & DevOps Pipelines sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Variables d’environnement et secrets » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon CI/CD with GitHub Actions & DevOps Pipelines ?
Oui. Chaque leçon CI/CD with GitHub Actions & DevOps Pipelines inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Introduction au déploiement continu
- Déploiement dans un environnement de préproduction
- Variables d’environnement et secrets
- Déployer en production avec des étapes d’approbation