Hosting

Je website deployen vanaf GitHub

Koppel je GitHub-account en zet je website online vanuit een repository, met één klik of automatisch bij elke push.

Bijgewerkt op

Staat je website in een GitHub-repository? Dan kun je hem vanuit je klantportaal online zetten, zonder bestanden te uploaden. Je kiest een branch of tag, geeft eventueel een build-opdracht op en deployt met één klik, of automatisch bij elke push. Dit is bedoeld voor wie met Git werkt.

Waar vind ik dit?

  1. Ga naar Hosting in je klantportaal en klik op je pakket.
  2. Klik in de balk op Website en kies GitHub.
  3. Op het tabblad GitHub zie je onder Deployen vanaf GitHub meteen de koppeling en de instellingen.

Stap 1: GitHub koppelen

Klik op Koppel GitHub. Er opent een venster van GitHub. Daar maak je een app aan op je eigen GitHub-account en kies je op welke repositories die app is geïnstalleerd: alleen die repositories kunnen wij lezen. Daarna sluit het venster vanzelf en staat er in het portaal dat GitHub is gekoppeld.

De koppeling geldt voor alle hostingpakketten van je account, je doet dit dus één keer. Staat er De eigenaar van het account stelt de koppeling met GitHub en de repository in, dan heb je een machtiging en kan alleen de eigenaar koppelen en een repository kiezen. Jij kunt dan wel deployen, de deploys en het logboek bekijken en een deploy afbreken.

Mist er later een repository in de lijst? Klik op Repository's kiezen op GitHub en voeg hem daar toe aan de app.

Stap 2: repository en branch of tag kiezen

  1. Klik op Repository koppelen aan deze website.
  2. Kies bij Repository de repository die je wilt gebruiken.
  3. Kies bij Deployen vanaf of je een Branch of een Tag wilt gebruiken, en kies daaronder de naam.

Een branch loopt mee met je nieuwste wijzigingen. Een tag is een vaste versie: handig als je zelf bepaalt wanneer er iets live gaat.

Stap 3: build-opdracht en publicatiemap

Beide velden zijn optioneel. Heb je gewone HTML- of PHP-bestanden in je repository, dan laat je ze leeg.

  • Build-opdracht: wordt uitgevoerd nadat de code is opgehaald. Bij een website die eerst gebouwd moet worden is dat bijvoorbeeld npm ci && npm run build.
  • Publicatiemap: de map in je repository die bezoekers te zien krijgen. Laat dit leeg als je website in de hoofdmap van je repository staat. Na een build is het de map waarin je build de website neerzet, bij het voorbeeld hierboven vaak dist.

Welke map jouw build gebruikt, staat in de documentatie van je framework of in de instellingen van je project.

Een Laravel-website

Bij Laravel vul je als Build-opdracht composer install --no-dev in en als Publicatiemap public. Alleen die map is dan van buitenaf bereikbaar, zoals Laravel dat wil.

Laravel heeft ook een .env-bestand met je instellingen nodig, zoals de gegevens van je database. Dat bestand hoort niet in je repository. Elke deploy komt in een nieuwe map, dus een .env die je daar zelf neerzet, is bij de volgende deploy weer weg. Neem contact met ons op, dan zorgen we samen dat je website zijn instellingen houdt.

Stap 4: automatisch deployen

Zet Automatisch deployen aan als elke push naar de gekozen branch of tag je website meteen moet bijwerken. Laat je het uit, dan deploy je alleen als je zelf op Nu deployen klikt. Klik op Opslaan om de instellingen te bewaren.

Zodra je eerste deploy gelukt is, staat je website op je domein. Vaak start die eerste deploy direct na het opslaan. Staat er geen deploy in de lijst Deploys, klik dan op Nu deployen. Krijg je na het opslaan de melding dat je website nog niet op je domein staat, neem dan contact met ons op.

Let op: elke deploy komt in een nieuwe map met alleen de inhoud van je repository. Wat alleen op je webruimte staat en niet in de repository, zoals bestanden die bezoekers hebben geüpload, is dan niet meer op je website te zien. Maak eerst een back-up als je twijfelt.

Nu deployen

Klik bij je gekoppelde repository op Nu deployen. De deploy verschijnt in de lijst Deploys. Kom je net terug op de pagina en staat hij er nog niet, klik dan op Verversen.

Geschiedenis en logboek

In de lijst Deploys zie je per deploy de status: In de wachtrij, Bezig, Gelukt of Mislukt. Ook staan er de datum, het commitbericht, de branch of tag en of de deploy Handmatig gestart is of Automatisch na een push.

Klik op Logboek om te lezen wat er tijdens de deploy is gebeurd. Is een deploy mislukt, dan staat daar meestal de reden, bijvoorbeeld een build-opdracht die een foutmelding geeft.

Een deploy afbreken

Staat een deploy in de wachtrij of is hij bezig, dan zie je er een knop Afbreken bij. De deploy stopt en je website blijft zoals hij was.

Loskoppelen en ontkoppelen

  • Loskoppelen haalt de repository van deze website. De website deployt daarna niet meer vanaf GitHub. Je website blijft de laatste deploy tonen.
  • Koppeling verwijderen haalt de GitHub-koppeling van je hele account weg. Websites die vanaf GitHub deployen, kunnen daarna niet meer deployen. Je bestanden blijven staan. Op GitHub kun je de app daarna zelf verwijderen.

Wanneer kan het niet?

Op een website met WordPress, WooCommerce, Joomla of OpenCart is deployen vanaf GitHub niet beschikbaar. Het portaal meldt dan dat er een van deze systemen op de website staat. Die systemen beheren hun eigen bestanden, en een deploy zou ze overschrijven.

Was dit artikel nuttig?

Laat het ons weten, dan weten we welke uitleg beter kan.

Alles over hosting

Kom je er niet uit?

Onze Nederlandse support helpt je graag verder. Je krijgt op werkdagen binnen twee uur antwoord.

Neem contact op