Seravon ylläpidossa olevista sivustoista voidaan avata kehitysympäristö (staging) eli varjo (shadow). Se toimii täysin erillään julkisesta tuotantosivustostasi, ja siellä on turvallista testata päivityksiä, teemoja ja lisäosia.
Palvelupakettisi tasosta riippuu, kuinka monta varjoa sivustollesi voidaan avata. Saat varjoympäristön käyttöösi ottamalla yhteyttä asiakaspalveluumme.
Varoitus! Jos varjoympäristöä ei käytetä pitkään aikaan, Seravo voi poistaa sen tilan säästämiseksi ilman erillistä ilmoitusta.
Varjosivuston käyttäminen (Hallintapaneeli)
Varjoympäristöt toimivat evästeiden avulla, joten niillä on oletuksena sama osoite kuin tuotantosivustollasi. Tämä varmistaa, että kaikki lisäosat ja lisenssit toimivat oikein.
Löydät aktivoitujen varjoympäristöjen listan WordPressin hallintapaneelista kohdasta Työkalut > Sivuston tila > Varjot.
Voit liikkua ympäristöjen välillä myös sivuston hallinnan yläpalkin pudotusvalikosta. Kun siirryt varjoon, yläpalkki ja sivun alalaita muuttuvat punaiseksi.
Varjossa tehdyt muutokset eivät näy julkisella sivustolla. Pääset takaisin tuotantoon klikkaamalla alapalkin punaista Poistu-linkkiä.
Datan siirto varjon ja tuotannon välillä
Varjon resetointi (Tuotanto > Varjo)
Ennen testaamisen aloittamista varjo kannattaa resetoida, eli kopioida tuorein sisältö ja tietokanta livenä pyörivästä tuotantosivustosta varjoon.
Mene kohtaan Työkalut > Sivuston tila > Varjot ja klikkaa resetointia. Komentorivillä (SSH) voit ajaa tuotannossa komennon:
wp-shadow-reset oma_instanssi
Oletuksena kuvatiedostoja (
uploads) ei kopioida, vaan ne ladataan varjoon välityspalvelimen kautta. Jos tarvitset kuvat fyysisesti varjoon, käytä komentoa:wp-shadow-reset oma_instanssi --full
Huom! Jos käytät varjoympäristössä alidomainia, muista vaihtaa se takaisin käyttöön jokaisen resetin jälkeen.
Varjon julkaisu tuotantoon (Varjo > Tuotanto)
Kun olet varma, että muutokset toimivat varjossa, voit kopioida ne tuotantoon ajamalla tuotantoympäristön komentorivillä komennon:
wp-shadow-pull oma_instanssi
Miksi varjosivustolla näkyy virheilmoituksia ruudulla? (Debug-tila)
Uudessa varjoympäristössä on oletuksena päällä WordPressin virheenjäljitystila (WP_DEBUG). Tämän vuoksi sivustolla saattaa näkyä kooditason varoituksia tai virheilmoituksia, jotka tuotantosivustolla on piilotettu. Tämä on tarkoitettu auttamaan kehittäjiä huomaamaan vialliset lisäosat tai teemat.
Mikäli haluat piilottaa nämä viestit näkymästä ruudulla, voit muokata tiedostoa wp-config.php (polussa /data/wordpress/htdocs/wp-config.php) ja muuttaa WP_DEBUG_DISPLAY-asetuksen arvoksi false:
/**
* For developers: show verbose debugging output if not in production.
*/
if ( 'production' === getenv('WP_ENV') ) {
define('WP_DEBUG', false);
define('WP_DEBUG_DISPLAY', false);
define('WP_DEBUG_LOG', false);
define('SCRIPT_DEBUG', false);
} else {
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', false); // Muutettu true > false
define('WP_DEBUG_LOG', '/data/log/php-error.log'); // Virheet tallentuvat yhä lokitiedostoon
define('SCRIPT_DEBUG', true);
define('WP_DEVELOPMENT_MODE', 'all');
}
Edistynyt kehittäminen (SSH, Git & rsync)
Kehittäjät voivat ottaa SSH/SFTP-yhteyden suoraan varjoympäristöön. Tunnistat ympäristön muuttujasta WP_ENV (arvo on joko staging tai testing, kun tuotannossa se on production). Ympäristömuuttujat voi tarkistaa komennolla wp-list-env.
Varjoeväste (seravo_shadow) ja API-kutsut
Jos haluat testata varjoa selaimella kirjautumatta sisään, tai tehdä curl-kutsuja varjon REST API -rajapintaan, sinun tulee käyttää varjoevästettä tai URL-parametria (esim. ?seravo_shadow=tunnus), jotta palvelin tietää ohjata pyynnön oikeaan varjoon tuotannon sijasta:
curl -iLs https://example.com/wp-json/wp/v2/?seravo_shadow=tunnus
Yksittäisten tiedostojen tai tietokannan siirto rsyncillä
Jos et halua julkaista koko varjoa (wp-shadow-pull), voit siirtää vain muuttuneet tiedostot tuotannosta käsin varjon SSH-porttia (esim. 11111) hyödyntäen:
# Tiedostojen siirto (pois lukien uploads-kansio)
rsync -av --delete-after --exclude=wp-content/uploads -e 'ssh -p 11111' [email protected]:/data/wordpress/ /data/wordpress
# Pelkän tietokannan haku varjosta tuotantoon (huom: ylikirjoittaa tuotannon tietokannan kerralla!)
ssh [email protected] -p 11111 'wp db export -' | wp db import -
Muista aina tyhjentää välimuisti komennolla wp-purge-cache muutosten jälkeen.
Tietokannan ylikirjoittaminen ja riskit
WordPressin tietokantamalli ei tue automaattista yksittäisten sisältöjen (kuten vain uuden blogiartikkelin tai asetusmuutoksen) yhdistämistä tietokannasta toiseen.
Jos julkaiset koko varjon tietokannan tuotantoon, se ylikirjoittaa kaiken tuotannossa olevan datan. Aktiivisissa verkkokaupoissa (WooCommerce) tai vilkkailla sivustoilla tämä tarkoittaa, että menetät kaikki varjon luomisen jälkeen tulleet uudet tilaukset ja asiakastiedot. Siksi suosittelemme viemään varjosta tuotantoon ensisijaisesti vain koodimuutoksia (teemat ja lisäosat) ja tekemään sisältömuutokset suoraan tuotantoon.

