DevOps-bootcamp · Oppitunti

Ympäristömuuttujat ja salaisuudet

Oppikaa hallitsemaan arkaluonteisia tietoja ja ympäristökohtaisia määrityksiä turvallisesti GitHub Actionsissa.

Oppitunti 3/412 vaihetta

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 variable

Mukautetut 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 empty

GitHub 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.

  1. Siirry repositoriosi Settings-asetuksiin.
  2. Siirry kohtaan Secrets and variables > Actions.
  3. Valitse New repository secret (tai organisaation salaisuus, jos tarvitset laajemman käyttöalueen).
  4. 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!

Aloita maksutta

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

  1. Johdanto jatkuvaan käyttöönottoon
  2. Käyttöönotto testiympäristöön
  3. Ympäristömuuttujat ja salaisuudet
  4. Tuotantoon käyttöönotto hyväksyntärajoilla
← Takaisin: DevOps-bootcamp