WordPress Thema GIT Deployment

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!

Wil je meer weten?
Bel ons gerust
010-5065520

But wait!

There's more!