Sovelluksen julkaisu manuaalisesti GitHubista

Toteutetaan ensin työkulku, joka tekee sovelluksen julkaisun, kun se käynnistetään manuaalisesti GitHubin puolella. Työkulut toteutetaan Actions-sivun alle, joten klikkaa reponäkymässä Actions-linkkiä. Näkymässä tarjotaan valmiita työkulkuja, jotka GitHub arvioi soveltuvan projektillesi. Näitä ei tällä kertaa hyödynnetä, vaan klikataan set up a workflow yourself -linkkiä.

GitHub Actions -näkymä

Editorikentän yläpuolella kysytään tiedoston nimeä, anna nimeksi deploy-manual.yml.

Laita editorikenttään seuraavat sisällöt jatkossa tulevassa järjestyksessä.

name: Manual deploy to neutroni

Tämä rivi määrittelee työkululle nimen, jolla se näkyy GitHubin toimintalogeissa.

on: 
  workflow_dispatch:

Tämä asetus määrittelee milloin työkulku käynnistyy. workflow_dispatch-arvo määrittelee, että työkulku käynnistetään manuaalisesti.

jobs:
  deploy:
    name: Deployment
    runs-on: ubuntu-latest

Tämä kertoo, että työkulkuun kuuluu Deployment-niminen työ, joka suoritetaan ympäristössä, jossa on Ubuntun viimeisin versio.

    steps:
      - uses: actions/checkout@v3

Työ jaetaan vaiheisiin ja ensimmäinen vaihe on GitHub-repon kopioiminen suoritusympäristöön.

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: "8.2"

Työn toinen vaihe on PHP-ympäristön asennus. Tämä asentaa PHP-version 8.2. setup-php-toiminto voi asentaa PHP:n lisäksi paljon muitakin, tarkemmat tiedot tästä löytyy sen dokumentaatiosta.

      - name: Deploy
        uses: deployphp/action@master
        with:
          private-key: ${{ secrets.PRIVATE_KEY }}
          known-hosts: ${{ secrets.KNOWN_HOSTS }}
          dep: deploy
          deployer-version: "6.8.0"

Työn viimeisenä vaiheena on Deployer-skriptin suoritus. Skriptille annetaan syötteenä aiemmin GitHubin repoon salattuna tallennetut tiedot yksityisestä avaimesta ja luotetuista palvelimista. Huomaa, että sercets-sanan perässä olevien tunnisteiden tulee täsmätä GitHub-repon Action secrets -sivulla olevien nimien kanssa. Käytettäväksi deployer-versioksi määritellään sama kuin neutronilla.

Huomaa myös, että tässä ei määritellä tarkemmin minne sovellus julkaistaan, nämä määritykset löytyvät Deployerin deploy.php-tiedoston asetuksista.

Tässä on lisättävä asetustiedoston sisältö vielä kokonaisuudessaan:

name: Manual deploy to neutroni

on: 
  workflow_dispatch:

jobs:
  deploy:
    name: Deployment
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v3

      - name: Setup PHP
        uses: shivammathur/setup-php@v2
        with:
          php-version: "8.2"

      - name: Deploy
        uses: deployphp/action@master
        with:
          private-key: ${{ secrets.PRIVATE_KEY }}
          known-hosts: ${{ secrets.KNOWN_HOSTS }}
          dep: deploy
          deployer-version: "6.8.0"

Tallenna määritystiedosto klikkaamalla vihreää Start commit -nappia ja avautuvasta ikkunasta Commit new file -nappia. Halutessasi voit kirjoittaa commitille kuvaustekstin.

Uuden GitHub Actions -työkulun lisääminen

Testataan seuraavaksi edellä lisäämämme työkulku suorittamalla se manuaalisesti. Valitse ensin GitHubin toimintolinkeistä Actions, klikkaa aktiiviseksi Manual deploy to neutroni-työkulku ja klikkaa Run workflow-valikon alta Run workflow-nappia.

GitHub Actions -työkulun suoritus manuaalisesti

Tämä käynnisti työkulun ja työkulkujen suorituslistaan ilmestyy uusi rivi, joka kertoo, että työkulkua suoritetaan.

GitHub Actions -työkulun suoritus käynnissä

Pienen hetken päästä työkulku on suoritettu ja tieto sen onnistumisestä näkyy työkulun edessä olevasta ikonista. Vihreä tarkoittaa, että työkulun suoritus onnistui, punainen puolestaan tarkoittaa työkulun suorituksen epäonnistumista.

GitHub Actions -työkulun suoritus onnistunut

Työkulun otsikkoa klikkaamalla pääset näkemään tarkempaa tietoa työkulusta. Kooste sivulla näkee suoritusajan lisäksi myös työkulun osatyöt.

GitHub Actions -työkulun suorituksen tarkemmat tiedot

Osatyön nimeä klikkaamalla pääsee näkemään miten osatyön suoritus onnistui. Esimerkkitapauksessa Deploy-vaiheen suoritus vei 24 sekuntia. Vaiheen päällä klikkaamalla saa vielä lisää tietoa vaiheen aikana suoritetuista toiminnoista.

GitHub Actions -työkulun suorituksen osatyön vaiheet

Sivustolle, jonne sovellus julkaistiin on tullut uusi release-julkaisu 3.

Sivuston release-julkaisut