Sovelluksen automaattisen julkaisun työnkulku
Seuraavaksi teemme GitHub Actions -työnkulun, joka tekee uuden julkaisun aina, kun GitHubiin tehdään uusi release-julkaisu. Työnkulku on käytännössä hyvin pitkälle sama kuin manuaalisessa käynnistyksessä, ainoastaan käynnistysehto muutetaan.
Aktivoi ensin Actions sivun yläreunan toimintolinkeistä, aloita uuden työnkulun luominen painamalla New workflow-nappia ja klikkaamalla set up a workflow yourself-linkkiä.
Anna työnkulun nimeksi deploy-release.yml ja syötä työnkuluksi seuraava teksti:
name: Release deploy to neutroni
on:
release:
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.

Automaattisen työnkulun testaaminen
Seuraavaksi testaamme automaattisen työnkulun toimintaa tekemällä ensin sovellukseen kaksi muutosta ja tekemällä muutoksista uuden Release-julkaisun.
-
Ensimmäisessä muutoksessa lisäämme uuden fonttivaihtoehdon käytettäviin fontteihin. Muokkaa projektin juuressa (~/public_html/perhekalenteri-dev) olevaa globals.php-tiedostoa. Muokkaa $headerfonts-taulukon sisältöä niin, että taulukon loppuosa osa seuraavanlainen. Huomaa myös lisätä alkuperäisen taulukon viimeisen alkion loppuun tullut pilkku.
... taulukon alku on sama "sigmarone" => array( "name" => "Sigmar One", "url" => "https://fonts.googleapis.com/css2?family=Sigmar+One&display=swap"), "titanone" => array( "name" => "Titan One", "url" => "https://fonts.googleapis.com/css2?family=Titan+One&display=swap") );
Testataan sivun toiminta osoitteessa
https://neutroni.hayo.fi/~tunnus/perhekalenteri-dev
, valitaan otsikkofontiksi Titan One ja avataan kalenterisivu.
Viedään tämä muutos versiohallintaan.
git pull
-komento noutaa GitHub-reposta sinne tehdyt muutokset paikallisesti. Yhdistämisen saattaa avata sinulle editorin, jossa sinulta kysytään yhdistämisen commit-tekstiä, voit hyväksyä tarjotun tekstin tallentamalla ja poistumalla editorista.cd ~/public_html/perhekalenteri-dev git add . git commit -m "Titan One lisätty otsikkofonttilistalle" git pull git push
-
Muutetaan seuraavaksi nimilistaa niin, että kentässä näkee useamman nimen saman aikaisesti. Muokkaa projektin juuressa (~/public_html/perhekalenteri-dev) olevaa index.php-tiedostoa. Muokkaa Perheenjäsenet-kohdan merkkausta seuraavanlaiseksi:
Perheenjäsenet: <textarea name="names" rows="5"><?= $defaultnames ?></textarea><br>
Testataan jälleen kerran muutoksen toimivuutta menemällä osoitteeseen
https://neutroni.hayo.fi/~tunnus/perhekalenteri-dev
. Syötekenttä perheenjäsenten nimien syöttämiseen on nyt viisi riviä korkea.
Viedään tämä muutos versiohallintaan.
git pull
-komento ei tee tällä kertaa mitään, koska GitHubin repoon ei ole tullut uutta sisältöä, jota ei olisi paikallisesti.cd ~/public_html/perhekalenteri-dev git add . git commit -m "Perheenjäsenet-tekstialueen korkeutta lisätty" git pull git push
Näiden kahden muutosten jälkeen voimme tehdä GitHubissa uuden release-julkaisun. Klikkaa GitHub-projektin pääsivun oikeassa laidassa olevaa Releases-otsikkoa.

Klikkaa Releases-sivulla olevaa Draft a new release -nappia.

Klikkaa Choose a tag -nappia, kirjoita kenttään teksti v1.0.1 ja klikkaa Create a new tag -kentän alapuolelta. Kirjoita haluamasi sisältö julkaisun otsikoksi ja tekstiksi. Paina lopuksi Publish release-nappia.

Kun menet GitHub-projektin Actions-sivulle, niin näet käynnistyikö julkaisu automaattisesti ja onnistuiko julkaisun tekeminen.

Loginäkymästä ilmenee, että release-julkaisu käynnisti työkulun kolmeen kertaan, joista yksi onnistui (published) ja loput kaksi epäonnistuivat (created ja released). Korjataan työkulkua niin, että työnkulku suoritaan ainoastaan silloin, kun uusi release-julkaisu tehdään julkiseksi. Muokkaa .github/workflows-kansiossa olevaa deploy-release.yml-tiedostoa. Muuta työnkulun käynnistysmäärittely seuraavanlaiseksi:
on:
release:
types: [published]
Hyväksy muutos klikkaamalla Start commit -nappia, kirjoita haluamasi commit-teksti ja klikkaa lopuksi Commit changes-nappia.

Voit testata muutoksen toimintaa käymällä muokkaamassa viimeisimmän Release-julkaisun tietoja ja hyväksymällä muutokset klikkaamalla Update release-nappia. Tietoihin itsessään ei tarvitse tehdä muutoksia. Tämä käynnistää työnkulun ainoastaan kerran.
