Siirry pääsisältöön

Julkaisu Git-versionhallinnan avulla

Opas sivuston julkaisuun Git-versionhallinnalla. Lue kuinka määrität production-etärepon, teet push-julkaisun ja hyödynnät post-receive-hookeja automaattiseen välimuistien tyhjennykseen sekä koodin rakentamiseen.

Päivitetty tällä viikolla

Tämä ohje opastaa, kuinka julkaiset muutokset lokaalilta koneeltasi Seravon tuotantopalvelimelle käyttämällä Gitiä.

Esivaatimukset

Muutosten julkaiseminen

Tässä esimerkissä etärepona (git remote) on käytetty nimeä production:

# Here we are using custom alias 'your-site' in ~/.ssh/config 
git remote -v
production your-site:/data/wordpress/.git (fetch)
production your-site:/data/wordpress/.git (push)

# This is the output if project was cloned without ssh alias
git remote -v
production ssh://[email protected]:12345/data/wordpress (fetch)
production ssh://[email protected]:12345/data/wordpress (push)

Julkaise muutokset ajamalla komento:

git push production master

Mitä julkaisun aikana tapahtuu?

Oletusarvoisesti Git siirtää vain muuttuneet tiedostot. Jotta sivustosi toimisi oikein päivityksen jälkeen, suosittelemme käyttämään post-receive-hookia automatisoimaan välttämättömät tehtävät.

Suositeltavat tehtävät julkaisun jälkeen:

  • Välimuistien tyhjennys: Tyhjennä WordPressin objektivälimuisti ja Nginxin sivuvälimuisti, jotta muutokset näkyvät heti.

  • Koodin rakentaminen (Build): Aja työkalut kuten Gulp tai SASS, jos projektisi vaatii koodin kääntämistä.

  • Riippuvuuksien hallinta: Aja composer install, jos hallinnoit lisäosia tai teemoja Composerin avulla.

Git-hookien käyttäminen

Voit luoda palvelimelle tiedoston /data/wordpress/.git/hooks/post-receive. Tämä skripti suoritetaan jokaisen git push -komennon jälkeen.

Esimerkki post-receive-skriptistä:

#!/bin/bash
echo "Seravo: Running post-receive tasks..."

# Flush caches
wp cache flush --path=/data/wordpress/htdocs wp-purge-cache

# Run Gulp if applicable if [ -f "/data/wordpress/htdocs/gulpfile.js" ]; then
cd /data/wordpress/htdocs && gulp build
fi

Huom: Anna tiedostolle suoritusoikeudet komennolla: chmod +x /data/wordpress/.git/hooks/post-receive

Tärkeää: Tietokanta ja mediatiedostot

Git-julkaisu ei sisällä oletuksena tietokantaa tai uploads-hakemiston sisältöä.

  • Suositus: Tietokannan tai mediatiedostojen sisällyttämistä Git-arkistoon ei missään nimessä ole suositeltavaa. Se tekee arkistosta tarpeettoman raskaan ja vaikeasti hallittavan.

  • Datan siirto: Jos sinun täytyy siirtää tietokannan sisältöä tai mediatiedostoja, käytä erillisiä työkaluja (kuten wp-cli tai SSH-pohjaiset siirrot).

  • Tietoturva: Vaikka näiden tiedostojen sisällyttäminen Gitiin on teknisesti mahdollista, se on riskialtista. Varmista aina, ettei siirtomenetelmäsi ylikirjoita tuotantoympäristössä olevaa elävää dataa, kuten uusia artikkeleita tai asiakastilauksia.

Tutorial: Ensimmäinen julkaisu

  1. Määritä etärepo: Lisää Seravon tuotantopalvelin etärepoksi lokaalissa projektissasi.

    git remote add production ssh://[email protected]:12345/data/wordpress
  2. Push tuotantoon:

    git push production master
Vastasiko tämä kysymykseesi?