WordPress Thema GIT Deployment
Voor het gebruik van een eigen thema is het in sommige gevallen handig om te werken met een versie controle management systeem, zoals GIT. Door middel van de volgende stappen leggen wij jouw uit hoe dit werkt bij Caveo.
In deze stappen gaan wij ervanuit dat u al een WordPress website heeft draaien en uw lokale computer de benodigde ontwikkel-technieken heeft geïnstalleerd, zoals wamp, composer en git.
Stap 1: Download WordPress
Eerst beginnen wij met het downloaden (https://nl.wordpress.org/download/) van wordpress op jouw computer. Pak het gedownload bestand uit naar een voor jouw logische locatie, die gekoppeld is aan de lokale webserver, zoals bijvoorbeeld wamp.
Stap 2: Installeren
Wij gaan ervanuit dat jij op jouw computer al een webserver hebt draaien, bijvoorbeeld wamp, lamp of een tool zoals laragon. Ga naar jouw lokale website: http://localhost/ en volg de installatie stappen van WordPress.
Stap 3: GitHub
Login op github.com en maak een nieuwe repository aan, bij voorkeur kies je voor een private repository.
Heb jij nog geen GIT geïnstalleerd op jouw computer? Deze kun je hier vinden: https://git-scm.com/downloads
Stap 4: Server SSH Key koppelen aan github
Zoek binnen het caveo dashboard portaal naar uw SSH gegevens.
Gebruik vervolgens een client zoals “Putty” om in te loggen op de server, vervolgens zijn wij op zoek naar de SSH key van de server om deze in jouw github repository toe te voegen.
- Controleer of u al een id_ed25519.pub heeft met het volgende commando:
“ls -al ~/.ssh” - Indien geen id_ed25519.pub bestand voer je het volgende commando uit (enter bij elke stap):
“ssh-keygen -t ed25519 -C “jouw@email.nl”” - Voer het volgende commando uit en kopieer de SSH key:
“cat ~/.ssh/id_ed25519.pub” - Navigeer op github naar jouw repository -> tabblad Settings -> Deploy keys -> Add deploy key en kopieer de sleutel.
Stap 5: Kopieer een thema als een begin
Navigeer naar “wp-content/themes” en kopieer een bestaande template, bijvoorbeeld twentytwenty.
Hernoem deze vervolgens naar jouw thema naam, bijvoorbeeld “mijnwpthema”.
Stap 6: Jouw eerste commit
Start opdrachtprompt (CMD) en navigeer naar jouw themes folder (wp-content/themes/mijnwpthema) en voer het volgende uit:
git init
git add –all
git commit -m “Mijn eerste wordpress thema commit”
git remote add origin git@github.com:caveo/mijn-wordpress-thema-repo.git
git push --set-upstream origin master
Het is mogelijk dat er geen verbinding gemaakt kan worden met github, herhaal dan stap 4, maar dan voor jouw lokale computer!
Als dat is gelukt, heb je nu jouw thema toegevoegd aan jouw eigen GIT repository! Als je nu jouw github pagina ververst, verschijnt jouw commit.
Stap 7: .gitignore
In de volgende stappen gaan wij een deploy.php bestand aanmaken, dit bestand willen wij niet binnen onze github repository opslaan. Om deze reden maken wij een nieuw bestand “.gitignore” in de folder “wp-content/themes/mijnwpthema” met de volgende regel:
deploy.php
In dit bestand kunnen bestanden of folders benoemd worden, welke niet wenselijk zijn te delen met github. Vervolgens terug naar de opdrachtprompt (cmd):
git add .
git commit -m "added ignore"
git push
Stap 8: Deployer globaal installeren op jouw lokale machine
Start opdrachtprompt (CMD) op het voer het volgende uit:
composer global require deployer/deployer
Nu wordt deployer globaal geïnstalleerd op jouw lokale machine, zodoende kan deze worden uitgevoerd zonder vendor map binnen de theme folder.
Stap 9: Deployer configuratie
Maak een nieuw bestand “deploy.php” in “wp-content/themes/mijnwpthema” en pas de configuratie als volgt aan:
<?php
namespace Deployer;
require ‘recipe/common.php’;
// Config
set(‘repository’, ‘git@github.com:caveo/mijn-wordpress-repo.git’);
set(‘git_tty’, false); // belangrijk voor windows gebruikers
set (‘ssh_multiplexing’, false);
add(‘shared_files’, []);
add(‘shared_dirs’, []);
add(‘writable_dirs’, []);
// Hosts
host(‘IPADRES’)
->set(‘hostname’, ‘DOMEINNAAM.nl’)
->set(‘remote_user’, ‘SSH_GEBRUIKER’)
->set(‘port’, ‘SSH_POORT’)
->set(‘deploy_path’, ‘~/deployments/mijnwpthema/’);
// Tasks
task(‘symlink:public’, function () {
run(‘ln -sf /var/www/deployments/mijnwpthema/current /var/www/html/wp-content/themes/mijnwpthema’);
});
// Hooks
after(‘deploy:symlink’, ‘symlink:public’);
after(‘deploy:failed’, ‘deploy:unlock’);
Stap 10: Deployen!
Voer de volgende commando uit in opdrachtprompt (CMD) in de folder “wp-content/themes/mijnwpthema” van jouw project om te deployen. Let op! Als je geen gebruikt maak van SSH Key login voor deployer, zal deployer heel vaak vragen om het wachtwoord, dit is normaal gedrag van deployer!
dep deploy:prepare
dep deploy:publish
Vervolgens is jouw thema gedeployed en kan jij de thema activeren binnen wordpress!