Ga naar inhoud

Bouwen vanuit een git-repository

Naast stacks die kant-en-klare images gebruiken, kan een stack zijn applicatie-image op de server bouwen uit uw eigen broncode. De repository moet een Dockerfile bevatten; het compose-bestand verwijst naar de uitgecheckte broncode als bouwcontext (./source).

HD Services maakt zo’n stack aan. Daarna beheert u de bron zelf op het tabblad Source.

Het tabblad Source

Methode Wanneer
Deploy key (standaard) De server maakt een SSH-sleutelpaar; u registreert de publieke sleutel bij de repository als alleen-lezen deploy key. GitHub: repository Settings > Deploy keys > Add deploy key, “Allow write access” uit. De privésleutel verlaat de server nooit. Gebruik de ssh-vorm van de URL (git@github.com:org/repo.git).
Token Een gebruikersnaam plus een (alleen-lezen) toegangstoken, met de https-vorm van de URL.
Geen Voor een publieke repository.

De sleutel hoort bij deze server en blijft werken als er bij u mensen, wachtwoorden of tokens veranderen.

Deploy haalt de nieuwste commit van de ingestelde branch op (of de vastgezette versie), bouwt de applicatie-image, haalt de andere images op en herstart alleen wat veranderd is. Geheimen staan nooit in de repository: dat zijn de instellingen en variabelen van de stack.

De eerste deploy is altijd handmatig: DNS, de toegangslijst en een eventuele datamigratie komen eerst. Daarna:

  • Automatisch uitrollen aan: een nieuwe commit op de branch wordt binnen enkele minuten uitgerold (de repository wordt elke vijf minuten gecontroleerd), of direct via de GitHub push-webhook.
  • Automatisch uitrollen uit: u drukt zelf op Deploy. Check now vraagt de repository om de nieuwste commit zonder uit te rollen.

De kaart Deploy history toont de uitgerolde commits, nieuwste eerst. Deploy this version bouwt de stack opnieuw uit die commit en zet de stack vast (pin): automatisch uitrollen pauzeert tot u op Follow the branch again drukt. Vooruit rollen is dezelfde knop op een nieuwere commit, of de pin opheffen en op Deploy drukken.

Staat Nightly update aan bij een git-stack, dan wordt ’s nachts de huidige checkout opnieuw gebouwd (een verversing van de basis-images). Nieuwe commits worden daarbij niet opgehaald.

Wilt u geen repository koppelen, dan kunt u de broncode ook als archief uploaden; dezelfde stack bouwt dan uit de geüploade bestanden. Zie Bestanden uploaden. Een repository opslaan op het tabblad Source zet de stack weer terug op git.

Op de pagina Backups kunt u voor een git-stack een back-up van het soort Git-repository aanmaken: elke nacht wordt de complete repository (alle branches, tags en geschiedenis) als één bestand bewaard. Zo blijft de broncode veilig als het GitHub-account verloren gaat. De back-up gebruikt dezelfde deploy key als de stack.