Werkstroom-DEV

De perfecte WordPress ontwikkelingsworkflow met Git & SSH

Misschien heb je jezelf wel eens afgevraagd: "Hoe publiceer ik mijn WordPress website?" of "Wat is de beste manier om mijn WordPress website online te krijgen?". Als beginnend ontwikkelaar - of als bureau dat zijn prestaties wil verbeteren - zou je ongetwijfeld gruwen van de stortvloed aan (verouderde) zoekresultaten op Stack Overflow en Google rond het onderwerp WordPress ontwikkeling. Dus in dit bericht ga ik je kennis laten maken met een beproefd implementatieproces om je WordPress website van een lokaal apparaat naar een server te krijgen. Laten we gaan voor SSH! 

Wat is SSH?

SSH (kort voor "Secure Shell") is een methode om verbinding te maken met een systeem of server met behulp van de commandoregelinterface (CLI). Eenvoudig gezegd, met SSH hoef je geen tijd te verspillen aan het rondspringen in verschillende gebruikersinterfaces om je gegevens over te brengen. 

Waarom is SSH zo cool?

Als je SSH eenmaal hebt ingesteld, hoef je niet langer bestanden te slepen en neer te zetten. Dit leidt tot minder fouten en snellere implementatietijden.

Voor wie is SSH geschikt?

SSH kan worden gebruikt door ontwikkelingsteams van elk niveau en elke grootte. SSH is een zeer veilige en snelle manier om uw project te bewerken en wijzigingen te publiceren. Vooral als u aan grotere projecten werkt, zult u uw workflow veel efficiënter maken met SSH.

Bijvoorbeeld, met Git, kun je al je werk in één repository zetten en het naar je server pushen, en ook samen aan een project werken als een team - zonder bestanden heen en weer te hoeven schuiven tussen elkaar.

Waarom SSH gebruiken? 

Waarom SSH wordt gebruikt, verschilt naargelang het gebruik. SSH wordt voornamelijk om deze redenen gebruikt:

  • SSH is veilig,
  • snel en
  • kan worden geautomatiseerd!

En alsof dat nog niet genoeg redenen voor je zijn, kun je SSH ook koppelen aan Git's versie beheer. Als je je ontwikkeling moet terugdraaien vanwege een bug of een kapotte functie, dan is dat ook heel gemakkelijk: een rollback wordt direct vanuit je GitHub repository gedaan.

Gebruik je SSH als junior ontwikkelaar? 

Iedereen die het onderwerp SSH betreedt kan zich snel overweldigd voelen, omdat het systeem op het eerste gezicht zeer complex lijkt. Maar maak je geen zorgen: deze handleiding leidt je door alle belangrijke stappen. Zoals u wellicht weet, is praktische ervaring in ontwikkeling met Git en SSH zeer waardevol - en tegenwoordig een industriestandaard.

Waarom zou een agentschap SSH gebruiken?

Afgezien van de eerder genoemde tijdbesparende voordelen en versiebeheer, kunt u met SSH veilig inloggen op uw server vanaf elk apparaat waarop uw SSH-sleutel is geïnstalleerd. 

Niet gebonden zijn aan een specifiek apparaat betekent vrijheid van locatie. 

Eerste stappen met SSH

Raidboxes biedt je een WordPress hostingplan voor de gratis ontwikkeling van je WordPress projecten. Dus als je SSH wilt oefenen, ben je op de goede weg.

Je Raidboxes Box is de plek waar je je WordPress website gaat hosten. Je zult echter niet in staat zijn om je Git commits direct te pushen. Dit is een beveiligingsfunctie van Raidboxes die ervoor zorgt dat je Box veilig blijft. In plaats daarvan zul je een derde partij moeten gebruiken om je repo te pushen met git pull in je Box. Ik heb GitHub gebruikt voor deze tutorial. Je kunt natuurlijk ook een andere dienst gebruiken – het proces is vrij gelijkaardig.

Hoe het proces precies werkt, heb ik hier eens voor u gevisualiseerd: 

wordpress-ontwikkeling

Als je al ... 

  • Git geïnstalleerd op je apparaat,
  • SSH-sleutels gegenereerd en 
  • je publieke SSH sleutel toegevoegd aan GitHub, 

spring dan direct naar stap 4: Stel je SSH-sleutel in Raidboxes in.

Stap 1: Controleer of je Git geïnstalleerd hebt

Je kunt eenvoudig controleren of Git geïnstalleerd is op het apparaat dat je gebruikt: Open je opdrachtprompt (Windows) of Terminal (Mac) en voer het volgende commando in: 

ssh-13

git version

Als je een versienummer ziet, is Git op je apparaat geïnstalleerd. 

ssh-7

Als je een foutmelding krijgt, kun je Git hier installeren. (Misschien moet je Git bijwerken als je een oudere versie gebruikt).

Stap 2: Stel je SSH-sleutels in

Controleer of er bestaande SSH-sleutels zijn:

SSH sleutels zijn nodig om veilig verbinding te maken met GitHub en Raidboxes via een SSH verbinding. Als je niet zeker weet of je al SSH-sleutels hebt gegenereerd, kun je ze meestal op deze manier vinden:

  1. Open de Git Bash
  2. Voer het volgende commando in

ls -al ~/.ssh

Als je SSH-sleutels hebt, krijg je een uitvoer met de bijbehorende namen: 

ssh-6

SSH sleutels staan meestal in de hoofdmap van de apparaten van je gebruikers. Controleer de directory:

C:\Users\<YOUR USER NAME>\.ssh

Voor meer details over SSH keys, bekijk de officiële GitHub docs.

Nieuwe SSH-sleutels genereren:  

Er zijn verschillende manieren om SSH-sleutels te maken. Ik raad je aan om de documentatie op GitHub Docs te volgen - er zijn instructies voor Windows, Mac en Linux.

Stap 3: Voeg je SSH sleutel toe aan GitHub

Als een voorwaarde om je lokale ontwikkeling naar GitHub te pushen, moet je je SSH sleutel aan GitHub toevoegen. Om dit te doen, volg de officiële GitHub documentatie

U kunt testen of u de SSH-sleutel juist hebt ingesteld door : 

Stap 4: Stel je SSH-sleutel in Raidboxes in.

Raidboxes staat je toe om via een SSH-verbinding verbinding met je server te maken. Eerst moet je de SSH-sleutel registreren in de GUI (grafische gebruikersinterface). 

Om dit te doen, log je in bij het Raidboxes Dashboard. Selecteer de Box waarmee je via SSH verbinding wilt maken:

ssh-5

Ga naar Instellingen > SSH:

ssh-8

Schakel SSH in door op de "Uit" knop te klikken om het aan te zetten en selecteer SSH instellingen:

ssh-15

Houd je SSH-sleutel gereed (zie stap 2). Raidboxes vereist dat je je publieke SSH-sleutel invoert. 

Ga naar de directory op uw lokale machine die uw SSH sleutels bevat:

C:\Users\Admin\.ssh

Open het bestand id_rsa.pub. Kopieer de hele inhoud van het bestand - inclusief de 'ssh-rsa' aan het begin - en plak het in het SSH-veld: 

ssh-10

Klik op Opslaan en ga terug naar het Dashboard van je Box. 

In de SSH-sectie vind je je toegangsgegevens om via SSH verbinding te maken met Raidboxes. Je hebt de volgende toegangsgegevens nodig: 

  • Gebruikersnaam, 
  • Gegevens van de gastheer en 
  • SSH passphrase die je voor je SSH-sleutel hebt gemaakt (zie stap 2). 
De perfecte WordPress  ontwikkelingsworkflow met Git &amp; SSH

Open Git Bash (Windows) of Terminal (Mac). Het commando om via SSH verbinding te maken is:

ssh <user-name>@<host-details>

Een voorbeeld met mijn dummy account zou zijn: 

ssh wp@XXXXXX.myraidbox.de

ssh-1

Je wordt nu gevraagd je SSH wachtwoordzin in te voeren. Voer het in - en welkom bij je Raidboxes Box bestandsboom! 

Als je een waarschuwing krijgt dat de verbinding onbekend is (het is de eerste verbinding), kun je als volgt te werk gaan:

  • Vul in ja,
  • Git Bash verlaten,
  • open Git Bash opnieuw en
  • Voer je SSH-conflictgegevens opnieuw in. 
ssh-2

Stap 5: De Raidboxes mappenstructuur

Zoals vermeld in het welkomstscherm van de SSH-verbinding met je Raidboxes Box , bevindt je voorgeïnstalleerde WordPress-directory zich in /home/wp/disk/wordpress. Je huidige werkdirectory als je voor het eerst verbinding maakt via SSH is home/wp

In deze map heb je niet de juiste rechten om Git te starten en je project uit te voeren met git pull downloaden - dat zou je ook niet willen. 

Ga naar je werkmap: 

Vanuit deze map kun je de basis van je WordPress website veranderen: Als je ls (list) in de console, ziet u uw typische WordPress bestandsstructuur: 

ssh-9

Stap 6: Git initialiseren in Raidboxes

Verander de mappen in wp-content/themes en maak een map aan. Hier initialiseer je Git en haal je je lokaal ontwikkelde Theme op van GitHub. 

cd wp-content/themes

mkdir <your theme name>

cd <your theme name>

git init

Nog een coole eigenschap van Raidboxes: Git is al geïnstalleerd op de server - net als WordPress CLI (WP-CLI). Het laatste wat je moet doen is je GitHub repository in de Raidboxes WordPress bestandsboom trekken. 

Maar om je Box veilig te houden, staat Raidboxes dit niet toe, git push direct van je lokale apparaat naar je git repo. In plaats daarvan haal je het van een dienst als GitHub. 

(Als je je lokale ontwikkelingsproject al naar GitHub hebt gepushed, ga dan verder met stap 8).

Stap 7: Upload je lokale Theme naar GitHub

Navigeer vanaf je lokale apparaat naar de map waarin je aangepaste WordPress-thema is gemaakt. Initialiseer Git dan door het in je terminal uit te voeren:

git init

ssh-11

Maak je repo aan op GitHub en voeg het toe als een remote voor je aangepaste ontwikkeling. Voor instructies over het aanmaken van een GitHub repository, kunt u deze documentatie lezen.

ssh-14

Wanneer je een repo aanmaakt, kun je kiezen tussen publiek en privaat. Voor werk in opdracht, is het het beste om privé te kiezen. Merk op dat dit je zal vragen om je GitHub gebruikersnaam en wachtwoord (niet je SSH wachtwoordzin) toe te voegen wanneer je de commando's git push of git pull die je eruit wilt halen.

Voeg je GitHub repo toe als een remote om het commando uit te voeren git push te gebruiken: 

git remote add <the alias you choose for the remote> <the remotes address>

Zoals in dit voorbeeld: 

git remote add gitHub
https://github.com/XXXXXXXXX/customWordpressTheme.git

Voeg je bestanden toe, commit ze, en push ze naar je remote repository: 

git add *
git commit -m '<your commit note>'
git push -u <the alias you gave your remote> <the name of the branch your working on>

(Als je niet zeker weet wat de naam van je afstandsbediening is, voer dan het commando git remote -v uit. Dit toont je alle namen van de remote repositories).

$ git push -u gitHub master

Fantastisch! Nu is je thema online en klaar om in je Box gepullt te worden. 

Stap 8: Upload je thema naar Raidboxes

Net zoals je je GitHub repository als een remote repository toevoegt (zodat je je Theme naar GitHub kunt pushen) zullen we nu GitHub als een remote repository toevoegen en de Theme vanuit de GitHub repository pushen. 

Open de Git Bash terminal waarin je SSH verbinding hebt gemaakt met Raidboxes. Zorg ervoor dat je in de map van je WordPress thema bent waar je Git geïnitialiseerd hebt (zie stap 6). 

Bijvoorbeeld:

home/wp/disk/wordpress/wp-content/themes

Voeg nu je GitHub repo toe als remote. 

Je kunt het remote adres vinden op GitHub: 

ssh-3

Voeg de afstandsbediening toe: 

git remote add <choose an alias name> <the address of your github ssh repo>

git remote add gitHub https://github.com/XXXXXX/customWordpressTheme.git

Pulle nu de repo van GitHub:

Let op: Branch wordt hier waarschijnlijk master genoemd. Tenzij je het veranderd hebt of in een andere branch op GitHub werkt.

git pull <alias name> <branch>

git pull gitHub master

Als het archief privé is ...

... zal je gevraagd worden om je GitHub gebruikersnaam en GitHub wachtwoord - niet je wachtwoordzin.

Stap 9: Activeer uw Theme

Gefeliciteerd! De laatste stap is het activeren van je WordPress-thema. Maar waarom hiervoor de terminal verlaten? Raidboxes heeft WordPress CLI al geïnstalleerd. Met een paar regels code kun je jezelf de moeite van het rondklikken in de WordPress UI besparen. 

Voer dit commando uit in de terminal: 

wp theme activate <your theme name>

Voor een volledig overzicht van de commando's die u kunt gebruiken met WP-CLI , verwijzen wij u naar de officiële documentatie van WordPress .

Als je de voorkeur geeft aan de UI, heb je toegang tot al je thema's via je Raidboxes Dashboard . Je vindt ze onder het navigatiepunt Plugins & Thema's:

Conclusie over SSH en WordPress Ontwikkeling

Als je op zoek bent naar een snelle, veilige en efficiëntere manier om je WordPress website te ontwikkelen en te onderhouden, dan is het gebruik van Git en SSH de aangewezen weg. Geloof me, je zult je al snel afvragen hoe je het ooit met een andere workflow hebt gered! 

Maar iedereen werkt in zijn eigen tempo en heeft individuele voorkeuren als het gaat om de juiste workflow. Ik raad je aan om SSH een kans te geven - en de beschreven stappen te volgen. Je weet maar nooit: misschien word je wel helemaal blij en wil je deze workflow nooit meer missen! 

Bedankt voor het lezen. Ik hoop dat dit artikel je heeft geholpen bij het opzetten van een geschikte workflow die je leven gemakkelijker maakt bij het werken met aangepaste thema's. Begin vandaag nog en profiteer optimaal van het Raidboxes dashboard! 

Welke vragen heb je voor Matthias?

Voel je vrij om de commentaarfunctie te gebruiken. Wilt u op de hoogte blijven van nieuwe artikelen en tips over het onderwerp WordPress Development? Volg ons dan op Twitter, Facebook of via onze nieuwsbrief.

Vond je het artikel leuk?

Met jouw beoordeling help je ons om onze inhoud nog verder te verbeteren.

Laat een reactie achter

Je e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *.