Workflow-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 beginnende ontwikkelaar - of als agentschap dat zijn prestaties wil opkrikken - zou je zeker ontzet zijn door de stortvloed aan (verouderde) zoekresultaten op Stack Overflow en Google rond het thema WordPress ontwikkeling. Dus in deze post ga ik je een bewezen implementatieproces voorstellen om je WordPress website van een lokaal apparaat naar een server te krijgen. Laten we SSH gebruiken! 

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 hoeft u geen tijd te verspillen met het rondspringen in verschillende gebruikersinterfaces om uw gegevens over te dragen. 

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 überhaupt gebruiken? 

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

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

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 toestel betekent vrijheid van locatie. 

Eerste stappen met SSH

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

Uw Raidboxes Box is waar u uw WordPress website zult 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 uw Box veilig blijft. In plaats daarvan zul je een externe provider 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 op uw toestel geïnstalleerd,
  • SSH sleutels gegenereerd en 
  • je publieke SSH sleutel toegevoegd aan GitHub, 

spring dan direct naar stap 4: Stel uw 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 uw opdrachtregelprogramma (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. (Het kan zijn dat je Git moet updaten als je een oudere versie gebruikt).

Stap 2: Stel uw SSH-sleutels in

Controleer of er bestaande SSH keys zijn:

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

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

ls -al ~/.ssh

Als u SSH sleutels heeft, krijgt u een uitvoer met de overeenkomstige namen: 

ssh-6

SSH sleutels zijn meestal te vinden in de root directory van de apparaten van uw gebruikers. Controleer de directory:

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

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

Genereer nieuwe SSH sleutels:  

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 uw 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 uw SSH sleutel in Raidboxes in

Raidboxes staat u toe om verbinding te maken met uw server via een SSH verbinding. Eerst moet je de SSH sleutel registreren in de GUI (graphical user interface). 

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 knop "Uit" te klikken om het in te schakelen en selecteer SSH-instellingen:

ssh-15

Houd uw SSH sleutel gereed (zie stap 2). Raidboxes vereist dat u uw 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 volledige 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, 
  • Gastheer details en 
  • SSH passphrase die u voor uw SSH sleutel heeft gemaakt (zie stap 2). 
De perfecte WordPress  ontwikkelingsworkflow met Git &amp; SSH

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

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

Een voorbeeld met mijn dummy account zou zijn: 

ssh wp@XXXXXX.myraidbox.de

ssh-1

U wordt nu gevraagd om uw SSH wachtwoordzin in te voeren. Voer het in - en welkom bij uw Raidboxes Box bestandsboom! 

ALS u een waarschuwing krijgt dat de verbinding onbekend is (het is de eerste verbinding), kunt u als volgt te werk gaan:

  • Geef ja,
  • Git Bash verlaten,
  • open Git Bash opnieuw en
  • voer uw SSH Conflict gegevens opnieuw in. 
ssh-2

Stap 5: De Raidboxes mappenstructuur

Zoals vermeld in het welkomstscherm van de SSH-verbinding met uw Raidboxes Box , bevindt uw vooraf geïnstalleerde WordPress-directory zich in /home/wp/disk/wordpress. Uw huidige werkdirectory wanneer u voor het eerst verbinding maakt via SSH is home/wp

In deze map heb je niet de juiste rechten om Git op 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 kunt u de basis van uw WordPress website wijzigen: 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

Een andere 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 bestandsstructuur te 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 gepushed hebt, ga dan verder met stap 8).

Stap 7: Upload je lokale Theme naar GitHub

Navigeer vanaf uw lokale apparaat naar de map waarin uw aangepaste WordPress thema is aangemaakt. Initieer 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 om 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>

(Indien u niet zeker bent wat de naam van uw 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 uw 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 een remote. 

Je kunt het externe 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 de opslagplaats 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 uw WordPress thema. Maar waarom zou je de terminal hiervoor verlaten? Raidboxes heeft al WordPress CLI geïnstalleerd. Met een paar regels code, kunt u uzelf 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 u de UI verkiest, hebt u toegang tot al uw thema's via uw Raidboxes Dashboard . U 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 manier om te gaan. Geloof me, je zult je snel afvragen hoe je het ooit gered hebt met een andere workflow! 

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! 

Dank u voor het lezen. Ik hoop dat dit artikel je geholpen heeft om een geschikte workflow op te zetten die je leven gemakkelijker zal maken bij het werken met aangepaste thema's. Begin vandaag nog en maak optimaal gebruik 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.