Omgevingsvariabelen en secrets
Leer gevoelige informatie en omgevingsspecifieke configuraties veilig te beheren binnen GitHub Actions.
Omgevingsvariabelen en secrets is een gratis CI/CD met GitHub Actions en DevOps-pijplijnen-les op CoddyKit. Dit is les 3 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CI/CD met GitHub Actions en DevOps-pijplijnen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.
Omgevingsvariabelen en geheimen: de basis
Welkom bij les 3! In CI/CD moet je je pijplijnen vaak configureren met dynamische waarden of gevoelige informatie.
Hier worden omgevingsvariabelen en geheimen onmisbaar. Hiermee kunnen je workflows zich aanpassen aan verschillende situaties en gevoelige gegevens veilig verwerken.
Waarom gebruik je ze in CI/CD?
Stel je voor dat je naar verschillende omgevingen uitrolt (ontwikkeling, staging, productie) of verbinding maakt met externe diensten waarvoor API-sleutels nodig zijn.
- Flexibiliteit: Met omgevingsvariabelen kun je gedrag wijzigen zonder het workflowbestand aan te passen.
- Beveiliging: Geheimen beschermen gevoelige gegevens, zoals wachtwoorden en API-tokens, tegen blootstelling.
- Herbruikbaarheid: Definieer configuraties één keer en gebruik ze in meerdere taken of stappen.
Omgevingsvariabelen in GitHub Actions
Een omgevingsvariabele is een waarde met een dynamische naam die invloed kan hebben op de manier waarop actieve processen zich gedragen. In GitHub Actions zijn ze belangrijk om je workflows configureerbaar te maken.
Je kunt eigen omgevingsvariabelen definiëren of de vele ingebouwde variabelen gebruiken die GitHub Actions aanbiedt.
Ingebouwde omgevingsvariabelen van GitHub Actions
GitHub Actions levert automatisch veel nuttige, vooraf gedefinieerde omgevingsvariabelen. Deze geven informatie over de repository, de uitvoering van de workflow en meer.
Bijvoorbeeld: GITHUB_SHA is de hash van de commit en GITHUB_REF is de naam van de branch of tag die de workflow heeft geactiveerd.
Je benadert ze via het contextobject github in expressies, of rechtstreeks als shellvariabelen wanneer ze aan env zijn gekoppeld.
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 }}"Aangepaste omgevingsvariabelen: bereik van de workflow
Je kunt eigen omgevingsvariabelen definiëren op workflow- of taakniveau. Variabelen die op workflowniveau zijn gedefinieerd, zijn beschikbaar voor alle taken en stappen binnen die workflow.
Gebruik het sleutelwoord env op het hoogste niveau van je workflowbestand om ze in te stellen.
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 variableAangepaste omgevingsvariabelen: bereik van taak en stap
Voor specifiekere behoeften definieer je omgevingsvariabelen op taak- of stapniveau. Een variabele die voor een taak is gedefinieerd, is beschikbaar voor al zijn stappen, terwijl een variabele op stapniveau alleen beschikbaar is voor die ene stap.
Dit geeft je fijnmazige controle over je configuratie.
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 emptyKennismaking met GitHub Secrets
Omgevingsvariabelen zijn geweldig voor niet-gevoelige gegevens, maar hoe zit het met vertrouwelijke informatie zoals API-sleutels, databasewachtwoorden of privétokens?
Daar komen GitHub Secrets van pas. Hiermee kun je gevoelige informatie veilig opslaan en in je workflows gebruiken zonder deze bloot te stellen in de code of logboeken van je repository.
- Versleuteld: Veilig opgeslagen door GitHub.
- Onherkenbaar gemaakt: Automatisch verborgen in workflowlogboeken.
- Gecontroleerde toegang: Alleen beschikbaar voor specifieke workflows.
GitHub Secrets aanmaken
Geheimen worden gemaakt en beheerd via de instellingen van je repository of organisatie op GitHub, niet rechtstreeks in je workflowbestanden.
- Ga naar de Instellingen van je repository.
- Ga naar Geheimen en variabelen > Actions.
- Klik op Nieuw geheim voor repository (of op organisatiegeheim voor een breder bereik).
- Geef een Naam op, bijvoorbeeld
MY_API_KEY, en plak de Waarde.
Nadat je een geheim hebt opgeslagen, kun je de waarde niet opnieuw bekijken; je kunt deze alleen bijwerken of verwijderen.
Geheimen gebruiken in workflows
Om een geheim te gebruiken, verwijs je ernaar via het contextobject secrets in je workflow, vergelijkbaar met hoe je env gebruikt voor omgevingsvariabelen.
GitHub maakt geheimen automatisch onherkenbaar in logboeken en vervangt hun waarden door *** om onbedoelde blootstelling te voorkomen.
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"Beste werkwijzen voor de beveiliging van geheimen
Veilig beheer van geheimen is van het grootste belang voor de integriteit van je CI/CD-pijplijn. Volg altijd deze richtlijnen:
- Minimale rechten: Geef alleen toegang tot geheimen waar dat absoluut noodzakelijk is.
- Nooit hardcoderen: Neem geheimen niet rechtstreeks op in je workflowbestanden of in code van je repository.
- Logboekregistratie vermijden: Hoewel GitHub geheimen onherkenbaar maakt, moet je aangepaste echo-opdrachten vermijden die per ongeluk delen van geheimen kunnen onthullen.
- Regelmatig vernieuwen: Wijzig je geheimen periodiek om het risico op misbruik te beperken.
- Omgevingsspecifiek: Gebruik verschillende geheimen voor ontwikkel-, staging- en productieomgevingen.
Snelle kennistoets: omgevingsvariabelen tegenover geheimen
Welke uitspraak beschrijft nauwkeurig een belangrijk verschil of kenmerk van omgevingsvariabelen en geheimen in GitHub Actions?
Samenvatting: Beveiligde configuraties
Fantastisch! Je hebt succesvol verkend hoe je configuraties in je GitHub Actions-werkstromen beheert.
- Omgevingsvariabelen helpen je niet-gevoelige, dynamische gegevens in je werkstroomuitvoeringen in te voegen. Je kunt ze aanpassen op het niveau van de werkstroom, taak of stap.
- Geheimen zijn cruciaal voor het veilig verwerken van gevoelige informatie, zoals API-sleutels, zodat deze versleuteld blijven en uit je openbare code blijven.
- Volg altijd de aanbevolen beveiligingsprocedures wanneer je met geheimen werkt, om je implementaties tegen kwetsbaarheden te beschermen.
Als je deze concepten beheerst, zijn je CI/CD-pijplijnen zowel flexibel als veilig!
Leer CI/CD met GitHub Actions en DevOps-pijplijnen met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Omgevingsvariabelen en secrets” gratis?
Ja — de volledige tekst van “Omgevingsvariabelen en secrets” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CI/CD met GitHub Actions en DevOps-pijplijnen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.
Wat leer ik in “Omgevingsvariabelen en secrets”?
Leer gevoelige informatie en omgevingsspecifieke configuraties veilig te beheren binnen GitHub Actions. Je oefent met CI/CD met GitHub Actions en DevOps-pijplijnen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met CI/CD met GitHub Actions en DevOps-pijplijnen te beginnen?
Ervaring vooraf is niet nodig. CI/CD met GitHub Actions en DevOps-pijplijnen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 3 van 4.
Hoe lang duurt de les “Omgevingsvariabelen en secrets”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over CI/CD met GitHub Actions en DevOps-pijplijnen?
Ja. Elke les over CI/CD met GitHub Actions en DevOps-pijplijnen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Kennismaking met Continuous Deployment
- Implementeren in een stagingomgeving
- Omgevingsvariabelen en secrets
- Naar productie deployen met goedkeuringspoorten