Stagingiin vieminen

Kun sivuston saatu siihen pisteeseen, että sitä voi selata, se laitetaan testiin ja näytille testipalvelimelle, jota myös näyttöpalvelimeksi (engl. staging server) kutsutaan. Duden staging-sivustot sijaitsevat aina omassa domainissaan, joka on muotoa asiakas.vaiheessa.fi. Tietokantapalvelin staging-sivustoille on nimeltään gunship ja sijaitsee osoitteessa gunship.dude.fi.

Ennakkoasetukset (tehdään vain kerran, jos ei ole aiemmin tehty)

Varmista että sinulla on oikea versio Capistranosta kirjoittamalla projektin juuressa:

bundle install

Jos saat Permission denied (publickey) -ilmoituksen, varmista että sinulla on oikeudet käyttää palvelimella GitHubia kirjautumalla sisään ssh:lla: tunnus@gunship.dude.fi ja luomalla avainpari komennolla:

ssh-keygen -t rsa

Tämän jälkeen avainpari haetaan komennolla:

cat ~/.ssh/id_rsa.pub

Sitten GitHubiin, klikkaa avataria ja Settings > SSH and GPG keys > Title: gunship.dude.fi, Key, copy paste komentoriviltä.

Tietokannan luominen

Kanta täytyy olla Gunshipillä. Kannan luominen: Mene Sequel Pro:hon, avaa localhost, exporttaa lokaali kanta, File > Export. Avaa yhteys Gunshipin tietokantapalvelimeen, Choose Database > Add database > projektinnimi, File > Import, kannan sql-tiedosto.

Tietokantatunnareiden luominen: Kirjaudu ssh:lla:

ssh tunnus@gunship.dude.fi

Sitten kirjoita:

mysql -u root -p

Katso 1Passwordin gunshipistä MySQL root pass. Luo kanta seuraavasti:

CREATE USER 'projektinnimi'@'%' IDENTIFIED BY '1passwordissa generoitu salasana';

Anna oikeudet komennolla:

GRANT ALL PRIVILEGES ON projektinnimi.* TO 'projektinnimi'@'%';

Ota oikeudet käyttöön:

FLUSH PRIVILEGES;

Huom: Jatkoa ajatellen paina ylöspäin niin saat aiemmat komennot ja voit kopata niistä mallia. Älä sulje MySQL-komentoriviä vaan kopioi salasana ja lisää se projektin juureen, .env-tiedoston DB_PASSWORD -kohtaan.

Tiedostojen vieminen staging-palvelimelle

  1. Mene komentorivillä projektiin, cd ~/Projects/projektinnimi ja varmista että kaikki muutokset ovat masterissa, siirry master branchiin git checkout master ja mergeä tarvittaessa.
  2. Kirjoita cap install
  3. Avaa config/deploy/staging.rb, sublilla tai nanolla. Korvaa tiedoston sisältö uusimmalla staging.rb deploy-configilla.
  4. Korvaa {{{USERNAME}}} omalla käyttäjätunnuksella ja {{{PASSWORD}}} omalla salasanalla, tarkista 1Passwordista kohdasta gunship.dude.fi. Korvaa {{{PROJECTNAME}}} projektin nimellä, ( + + F). Tarkista että wp-cli komentojen urlit ovat oikein, pitäisi olla https://projektinnimi.test ja https://projektinnimi.vaiheessa.fi. Tallenna tiedosto.
  5. Tarkista että config/deploy.rb näyttää oikealta.
  6. Mene komentoriville projektikansioon ja aja cap staging deploy
  7. Saat viestin: ERROR linked file /var/www/projektinnimi/shared/.env does not exist, kuuluu asiaan. Kirjaudu palvelimelle tunnuksillasi ssh tunnus@gunship.dude.fi, kopioi polku virheilmoituksesta ja aja komento seuraavasti: nano /var/www/projektinnimi/shared/.env (kopioi polku virheilmoituksesta)
  8. Avaa projektin paikallinen .env ja muokkaa tiedostosta seuraavat kohdat kuntoon:
    DB_NAME=projektinnimi
    DB_USER=projektinnimi
    DB_PASSWORD=gunship-kannan salasana tähän
    DB_HOST=185.87.110.10
    
    WP_ENV=staging
    WP_HOME=https://projektinnimi.vaiheessa.fi
    WP_SITEURL=https://projektinnimi.vaiheessa.fi/wp
    

    Saltit ja muut mahdolliset ympäristömuuttujat samat kuin lokaalissa.

  9. Poistu palvelimelta komennolla exit. Aja uudestaan komento cap staging deploy.
  10. Mene FileZillaan. Siirrä mediatiedostot kansioon /var/www/projektinnimi/shared/media
  11. Määrittele kertakäyttösalasana muokkaamalla tiedostoa /var/www/projektinnimi/shared/.staging_password. Lisää salasana Trelloon ja 1Passwordiin.

Lopuksi testaa sivustoa projektin virallisessa osoitteessa projektinnimi.vaiheessa.fi.