Muuttujien ja komentosarjojen toteuttaminen työnkulussa

Valmis

Nyt kun tunnet työnkulkutiedoston osat, voit tutkia, miten näitä työnkulkuja voi mukauttaa eri skenaarioissa. Tässä osiossa keskitytään siihen, miten voit optimoida työnkulun muuttujien ja komentosarjojen avulla. Muuttujat tarjoavat tavan tallentaa ja käyttää uudelleen määritystietoja, jotka eivät ole herkkiä. Voit tallentaa kaikki määritystiedot, kuten kääntäjämerkit, käyttäjänimet tai palvelimen nimet muuttujiksi. Muuttujat interpoloituvat työnkulkua suorittävässa juoksijakoneessa. Toiminnoissa tai työnkulun vaiheissa suoritettavat komennot voivat luoda, lukea ja muokata muuttujia.

Voit määrittää omia mukautettuja muuttujia tai käyttää oletusympäristömuuttujia, jotka GitHub määrittää automaattisesti. Voit luoda mukautetun muuttujan kahdella tavalla.

  • Voit määrittää ympäristömuuttujan käytettäväksi yhdessä työnkulussa käyttämällä työnkulkutiedoston env avainta.
  • Voit määrittää määritysmuuttujan useissa työnkuluissa määrittämällä sen organisaatio-, säilö- tai ympäristötasolla.

Yksittäisen työnkulun ympäristömuuttujien määrittäminen

Voit määrittää mukautetun ympäristömuuttujan yksittäiselle työnkululle käyttämällä työnkulkutiedoston env avainta. Tällä menetelmällä määritetyn mukautetun muuttujan laajuus rajoittuu elementtiin, johon se on määritetty. Voit määrittää muuttujia, jotka on rajoitettu alueeseen:

  • Koko työnkulku käyttämällä env työnkulkutiedoston ylimmällä tasolla.
  • Työnkulussa olevan työn sisällön käyttäminen jobs.<job_id>.envavulla.
  • Tietty vaihe työssä käyttämällä jobs.<job_id>.steps[*].env.

Muistiinpano

Sekä jobs.<job_id>.env että jobs.<job_id>.steps[*].env toteuttavat konteksteja, joita käsitellään myöhemmin tässä moduulissa.

Seuraavassa työnkulkuesimerkkissä on kaksi muuttujaa, DAY_OF_WEEK ja Greeting tervehdyksen tuottamiseksi, kun se suoritetaan.

name: Greeting on variable day

on:
  workflow_dispatch

env:
  DAY_OF_WEEK: Monday

jobs:
  greeting_job:
    runs-on: ubuntu-latest
    env:
      Greeting: Hello
    steps:
      - name: "Say Hello"
        run: echo "$Greeting, today is $DAY_OF_WEEK!"

Ympäristömuuttujien nimeämiskäytännöt

Kun määrität ympäristömuuttujan, et voi käyttää mitään oletusympäristön muuttujien nimiä. Jos yrität ohittaa jonkin näistä oletusmuuttujista arvon, määritys ohitetaan.

Juomaraha

Täydellinen luettelo oletusympäristömuuttujista on kohdassa Oletusympäristömuuttujat.

Säilön määritysmuuttujien luominen

Jotta voit luoda salaisuuksia tai muuttujia GitHubissa henkilökohtaisen tilin säilölle, sinun on oltava säilön omistaja. Jotta voit luoda salaisuuksia tai muuttujia GitHubissa organisaation säilölle, sinulla on oltava admin käyttöoikeus. Lisäksi jos haluat luoda salaisuuksia tai muuttujia henkilökohtaiselle tilisäilölle tai organisaation säilölle REST-ohjelmointirajapinnan kautta, sinulla on oltava yhteiskäyttöoikeus.

Määritysmuuttujan käsittelyjärjestys

Jos samanniminen muuttuja on olemassa useilla tasoilla, muuttuja alimmalla tasolla on etusijalla. Jos esimerkiksi organisaatiotason muuttujalla on sama nimi kuin säilötason muuttujalla, säilön ja tason muuttuja on etusijalla. Vastaavasti, jos organisaatiolla, säilöllä ja ympäristöllä on muuttuja, jolla on sama nimi, ympäristötason muuttuja on etusijalla.

Komentosarjojen lisääminen työnkulkuun

GitHub Actions -työnkulun avulla voit suorittaa komentosarjoja ja liittymäkomentoja, jotka sitten suoritetaan määritetylle juoksijalle. Seuraavassa esimerkissä näytetään, miten voit suorittaa run juoksijalle npm install -g bats -avainsanan avulla.

jobs:
  example-job:
    runs-on: ubuntu-latest
    steps:
      - run: npm install -g bats

Jotta voit suorittaa säilöösi tallennetun komentosarjan, sinun on ensin tutustuttava säilöön juoksijalle. Seuraava esimerkki: tarkistaa säilön; määrittää työhakemiston – komentosarjojen sijainnin säilössä; ja suorittaa my-script.sh komentosarjan.

jobs:
  example-job:
    runs-on: ubuntu-latest
    defaults:
      run:
        working-directory: ./scripts
    steps:
      - name: Check out the repository to the runner
        uses: actions/checkout@v4  
      - name: Run a script
        run: ./my-script.sh

Kaikkien komentosarjojen, joiden haluat suorittavan työnkulkutyön, on oltava suoritettavia. Voit välittää komentosarjan argumenttina tulkille, joka suorittaa komentosarjan , esimerkiksi run: bash script.sh, tai tekemällä tiedostosta itsestään suoritettavan.