Git & deploy·4 min lezen

Je GitHub-account koppelen aan je hostingaccount

Koppel je GitHub-account één keer met een code. Daarna maken de assistent en de terminal repositories aan, pushen ze je werk en openen ze pull requests. Plus het verschil met een deploy key.

Maak een privé-repository voor deze website, zet de huidige bestanden erin
en push naar main.

Deze opdracht werkt pas als je hostingaccount weet wie je op GitHub bent. Dat regel je één keer, met een code van zes tekens, en daarna kunnen zowel de Invoker Assistant als de terminal met jouw repositories werken. Dit artikel loopt het koppelen langs en legt uit waarin het verschilt van een deploy key, want dat zijn twee verschillende dingen die vaak door elkaar lopen.

Koppelen in drie minuten

  1. Open in DirectAdmin Invoker Link en ga naar het tabblad GitHub. Bovenaan staat het blok GitHub-account.
  2. Klik op Koppel GitHub. Je krijgt een code te zien onder "Jouw code".
  3. Klik op Open GitHub. Er opent een nieuw tabblad op github.com. Log daar in met je eigen GitHub-account en typ de code over.
  4. Bevestig op GitHub dat je toegang geeft. Laat het DirectAdmin-tabblad openstaan: die pagina ziet het zelf en gaat verder.

Je ziet daarna Gekoppeld als @jouwnaam staan, met de toegang die is afgegeven. De code is vijftien minuten geldig. Wordt hij niet binnen die tijd bevestigd, dan krijg je de melding dat de login stopte voordat de code bevestigd was en begin je gewoon opnieuw.

Je wachtwoord komt nooit op de server. Je logt in bij GitHub zelf; de server krijgt alleen een toegangssleutel terug die bij jouw account hoort.

Wat de koppeling mag

De koppeling vraagt drie dingen aan GitHub: toegang tot je repositories, tot workflows en het mogen zien van je organisatielidmaatschap. In de praktijk betekent dat:

  • De assistent en de terminal kunnen een nieuwe repository aanmaken voor een website, publiek of privé.
  • git push werkt zonder dat je elke keer inloggegevens hoeft in te voeren.
  • Het commando gh is ingelogd, dus issues, pull requests en releases kunnen vanuit je hostingaccount.

Je hoeft gh auth login niet zelf in de terminal te doen; na het koppelen is dat al gebeurd. Intrekken kan altijd aan de GitHub-kant, onder Settings → Applications, en aan onze kant met de knop Ontkoppel op hetzelfde tabblad.

Koppeling of deploy key: wat heb je nodig?

Dit is het punt waar de meeste verwarring zit. Er zijn twee soorten koppelingen en ze doen iets anders.

GitHub-account koppelen Repository aan een website koppelen
Wat het is Jouw account, één keer, voor het hele hostingaccount Eén deploy key per repository, per website
Waarvoor Repositories aanmaken, pushen, pull requests, gh Code uit een repository op je website zetten
Richting Van de server naar GitHub Van GitHub naar de server
Rechten Lezen en schrijven in jouw repositories Alleen lezen in die ene repository
Automatisch live Nee Ja, met de webhook bij elke push

Wil je dat elke push naar main je website bijwerkt, dan heb je de tweede nodig: zie Een GitHub-repository koppelen aan je website. Wil je dat de assistent code voor je op GitHub zet, dan heb je de eerste nodig. In de praktijk gebruik je ze vaak samen: de assistent maakt de repository aan en pusht de eerste versie, en daarna zet je die repository als deploy-bron op je website.

Handig om te weten: ontkoppel je je GitHub-account, dan blijven gekoppelde repositories gewoon werken. Die hangen aan hun eigen deploy key, niet aan jouw login.

Wat de assistent er daarna mee doet

Na het koppelen weet de assistent dat GitHub beschikbaar is. Dat staat bij de accountgegevens die hij aan het begin van elk gesprek meekrijgt, dus je hoeft het niet uit te leggen. Opdrachten die dan logisch worden:

Zet de wijzigingen van vandaag in een nieuwe branch en open een pull request
met een korte beschrijving van wat er veranderd is.
Maak een repository met alleen mijn thema erin, niet de hele WordPress-map.

De tweede is bewust: een hele WordPress-installatie in versiebeheer zetten is zelden wat je wilt. Het thema of een plugin wel.

Veelgemaakte fouten

"Ik koppelde GitHub, maar mijn site werkt niet bij na een push." Dan zocht je de andere koppeling. Het account koppelen geeft de assistent toegang tot GitHub; voor automatisch live zetten koppel je een repository aan de website.

"Ik logde in met het GitHub-account van mijn klant." De koppeling geldt voor het hele hostingaccount, dus log in met het account waar jouw repositories onder staan. Werk je voor klanten met aparte organisaties, geef dan die organisatie toegang in plaats van een los account te gebruiken.

"Ik klikte Open GitHub en sloot daarna het DirectAdmin-tabblad." De pagina wacht zelf op de bevestiging. Sluit je hem, dan zie je bij de volgende keer dat de login niet is afgerond en start je opnieuw.

"Er staat dat de GitHub-CLI niet geïnstalleerd is." Dan draait je site op een server waar het onderdeel nog niet staat. Vraag het aan via Vraag Invoker om hulp in het ⋯-menu van de assistent, dan zetten wij het klaar.

"Mijn koppeling werkt niet meer." Dat kan gebeuren als je de toegang bij GitHub hebt ingetrokken of je wachtwoord hebt gewijzigd. Je ziet dan een melding dat de koppeling niet meer werkt; klik op Opnieuw koppelen en loop dezelfde vier stappen door.

MK
Maarten Keizer

Oprichter van Invoker. Ruim twintig jaar hosting, systeembeheer en webdevelopment; bouwt de Claude-hosting zelf en test alles eerst op de eigen servers.

over maarten