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 yli 3 viikkoa sitten

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?