Ympäristömuuttujat ja salaisuudet
Oppikaa hallitsemaan arkaluonteisia tietoja ja ympäristökohtaisia määrityksiä turvallisesti GitHub Actionsissa.
Ympäristömuuttujat ja salaisuudet on ilmainen DevOps-bootcamp-oppitunti CoddyKitissä. Tämä on oppitunti 3/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu DevOps-bootcamp-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Ympäristömuuttujat ja salaisuudet: perusteet
Tervetuloa oppitunnille 3! CI/CD-putkia täytyy usein määrittää muuttuvilla arvoilla tai arkaluonteisilla tiedoilla.
Tässä ympäristömuuttujat ja salaisuudet ovat välttämättömiä. Niiden avulla työnkulut voivat mukautua eri tilanteisiin ja käsitellä arkaluonteisia tietoja turvallisesti.
Miksi niitä käytetään CI/CD:ssä?
Kuvittele, että otat käyttöön koodia eri ympäristöissä (kehitys, staging ja tuotanto) tai muodostat yhteyden ulkoisiin palveluihin API-avainten avulla.
- Joustavuus: Ympäristömuuttujien avulla voit muuttaa toimintaa muokkaamatta työnkulkutiedostoa.
- Tietoturva: Salaisuudet suojaavat arkaluonteisia tietoja, kuten salasanoja ja API-tunnuksia, paljastumiselta.
- Uudelleenkäytettävyys: Määritä asetukset kerran ja käytä niitä useissa jobeissa tai vaiheissa.
Ympäristömuuttujat Actionsissa
Ympäristömuuttuja on dynaamisesti nimetty arvo, joka voi vaikuttaa käynnissä olevien prosessien toimintaan. GitHub Actionsissa ne ovat keskeisiä työnkulkujen määritettävyyden kannalta.
Voit määrittää omia ympäristömuuttujia tai käyttää GitHub Actionsin tarjoamia lukuisia sisäänrakennettuja muuttujia.
GitHub Actionsin sisäänrakennetut ympäristömuuttujat
GitHub Actions tarjoaa automaattisesti monia hyödyllisiä, ennalta määritettyjä ympäristömuuttujia. Ne antavat tietoja repositoriosta, työnkulun suorituksesta ja muusta.
Esimerkiksi GITHUB_SHA on commitin hash-arvo ja GITHUB_REF työnkulun käynnistänyt haara tai tägin nimi.
Niitä käytetään lausekkeissa github-kontekstiobjektin avulla tai suoraan komentotulkin muuttujina, jos ne on yhdistetty env-määritykseen.
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 }}"Mukautetut ympäristömuuttujat: työnkulun laajuus
Voit määrittää omia ympäristömuuttujia työnkulun tai jobin tasolla. Työnkulun tasolla määritetyt muuttujat ovat käytettävissä kaikissa kyseisen työnkulun jobeissa ja vaiheissa.
Määritä ne käyttämällä työnkulkutiedoston ylimmän tason env-avainsanaa.
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 variableMukautetut ympäristömuuttujat: työ- ja vaihekohtainen laajuus
Jos tarvitset tarkempaa hallintaa, määritä ympäristömuuttujat jobin tai vaiheen tasolla. Jobille määritetty muuttuja on käytettävissä kaikissa sen vaiheissa, kun taas vaihekohtainen muuttuja on käytettävissä vain kyseisessä vaiheessa.
Näin voit hallita asetuksiasi tarkasti.
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 emptyGitHub Secretsin esittely
Ympäristömuuttujat sopivat erinomaisesti ei-arkaluonteisille tiedoille, mutta entä API-avainten, tietokantojen salasanojen tai yksityisten tunnusten kaltaiset luottamukselliset tiedot?
Tässä GitHub Secrets tulee avuksi. Sen avulla voit tallentaa arkaluonteisia tietoja turvallisesti ja käyttää niitä työnkuluissasi paljastamatta niitä repositoriosi koodissa tai lokeissa.
- Salattu: GitHub tallentaa tiedot turvallisesti.
- Peitetty: Tiedot piilotetaan automaattisesti työnkulun lokeista.
- Hallittu käyttöoikeus: Tiedot ovat käytettävissä vain tietyissä työnkuluissa.
GitHub Secretsin luominen
Salaisuudet luodaan ja niitä hallitaan GitHubissa repositoriosi tai organisaatiosi asetuksissa, ei suoraan työnkulkutiedostoissa.
- Siirry repositoriosi Settings-asetuksiin.
- Siirry kohtaan Secrets and variables > Actions.
- Valitse New repository secret (tai organisaation salaisuus, jos tarvitset laajemman käyttöalueen).
- Anna Name (esimerkiksi
MY_API_KEY) ja liitä Value.
Kun salaisuus on tallennettu, et voi enää nähdä sen arvoa. Voit vain päivittää tai poistaa sen.
Salaisuuksien käyttäminen työnkuluissa
Salaisuutta käytetään viittaamalla siihen työnkulussa secrets-kontekstiobjektin avulla samalla tavalla kuin ympäristömuuttujien kanssa käytetään env-objektia.
GitHub peittää salaisuudet lokeista automaattisesti ja korvaa niiden arvot merkkijonolla *** tahattoman paljastumisen estämiseksi.
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"Salaisuuksien tietoturvan parhaat käytännöt
Salaisuuksien turvallinen hallinta on ensiarvoisen tärkeää CI/CD-putken eheydelle. Noudata aina näitä ohjeita:
- Vähimpien oikeuksien periaate: Myönnä salaisuuksien käyttöoikeus vain silloin, kun se on ehdottoman välttämätöntä.
- Älä koskaan kovakoodaa: Älä upota salaisuuksia suoraan työnkulkutiedostoihin tai mihinkään repositoriosi koodiin.
- Vältä lokiin kirjaamista: Vaikka GitHub peittää salaisuudet, vältä mukautettuja echo-komentoja, jotka saattavat vahingossa paljastaa osia salaisuuksista.
- Vaihda säännöllisesti: Vaihda salaisuudet ajoittain, jotta niiden vaarantumisen riski pienenee.
- Ympäristökohtaiset salaisuudet: Käytä eri salaisuuksia kehitys-, staging- ja tuotantoympäristöissä.
Pikatarkistus: ympäristömuuttujat vai salaisuudet?
Mikä väittämistä kuvaa tarkasti GitHub Actionsin ympäristömuuttujien ja salaisuuksien keskeistä eroa tai ominaisuutta?
Kertaus: suojatut määritykset
Hienoa! Olette onnistuneesti tutustuneet siihen, miten GitHub Actions -työnkulkujen määrityksiä hallitaan.
- Ympäristömuuttujat auttavat välittämään ei-arkaluonteisia, dynaamisia tietoja työnkulkujen suorituksiin. Niitä voidaan mukauttaa työnkulun, työn tai vaiheen tasolla.
- Salaisuudet ovat olennaisia arkaluonteisten tietojen, kuten API-avainten, turvallisessa käsittelyssä. Näin tiedot pysyvät salattuina eivätkä päädy julkiseen koodiin.
- Noudattakaa aina tietoturvan parhaita käytäntöjä salaisuuksien käsittelyssä, jotta suojaatte käyttöönottonne haavoittuvuuksilta.
Näiden käsitteiden hallinta varmistaa, että CI/CD-putkenne ovat sekä joustavia että turvallisia!
Opi DevOps-bootcamp tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 142
- Oppitunnit
- 568
Usein kysytyt kysymykset
Onko oppitunti ”Ympäristömuuttujat ja salaisuudet” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa DevOps-bootcamp-oppimispolun 3 oppituntia, myös oppitunnin “Ympäristömuuttujat ja salaisuudet”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. DevOps-bootcamp-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Ympäristömuuttujat ja salaisuudet”?
Oppikaa hallitsemaan arkaluonteisia tietoja ja ympäristökohtaisia määrityksiä turvallisesti GitHub Actionsissa. Harjoittelet DevOps-bootcamp-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni DevOps-bootcamp-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin DevOps-bootcamp-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 3/4.
Kuinka kauan ”Ympäristömuuttujat ja salaisuudet”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä DevOps-bootcamp-oppitunnilla?
Kyllä. Jokainen DevOps-bootcamp-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Johdanto jatkuvaan käyttöönottoon
- Käyttöönotto testiympäristöön
- Ympäristömuuttujat ja salaisuudet
- Tuotantoon käyttöönotto hyväksyntärajoilla