Delen via


GitHub Enterprise Server configureren in Azure VMware Solution

In dit artikel leert u hoe u GitHub Enterprise Server, de on-premises versie van GitHub.com, instelt in uw Azure VMware Solution-privécloud. In het scenario wordt een GitHub Enterprise Server-exemplaar behandeld dat maximaal 3000 ontwikkelaars kan bedienen die maximaal 25 taken per minuut uitvoeren op GitHub Actions. Het bevat de installatie van (op het moment van schrijven) preview-functies , zoals GitHub Actions. Als u de installatie voor uw specifieke behoeften wilt aanpassen, raadpleegt u de vereisten die worden vermeld in Het installeren van GitHub Enterprise Server op VMware.

Voordat u begint

GitHub Enterprise Server vereist een geldige licentiesleutel. U kunt zich registreren voor een proeflicentie. Als u de mogelijkheden van GitHub Enterprise Server wilt uitbreiden via een integratie, controleert u of u in aanmerking komt voor een gratis licentie voor vijf seat-ontwikkelaars. Meld u aan voor deze licentie via het Partnerprogramma van GitHub.

GitHub Enterprise Server installeren op VMware

  1. Download de huidige versie van GitHub Enterprise Server voor VMware ESXi/vSphere (OVA) en implementeer de OVA-sjabloon die u hebt gedownload.

    Schermopname van de installatieopties voor GitHub Enterprise Server op VMware.

    Schermopname van de menuoptie OVA-sjabloon implementeren.

  2. Geef een herkenbare naam op voor uw nieuwe virtuele machine, zoals GitHubEnterpriseServer. U hoeft de releasedetails niet op te nemen in de naam van de VIRTUELE machine, omdat deze details verlopen wanneer het exemplaar wordt bijgewerkt.

  3. Selecteer alle standaardwaarden voor nu (details die later moeten worden bewerkt) en wacht totdat de OVA is geïmporteerd.

  4. Pas na het importeren de hardwareconfiguratie aan op basis van uw behoeften. In ons voorbeeldscenario hebben we de volgende configuratie nodig.

    Bron Standaardinstallatie Standaard instellen + "bètafuncties" (acties)
    vCPU's 4 8
    Geheugen 32 GB 61 GB
    Gekoppelde opslag 250 GB 300 GB
    Hoofdopslag 200 GB 200 GB

    Uw behoeften kunnen variëren. Raadpleeg de richtlijnen voor hardwareoverwegingen bij het installeren van GitHub Enterprise Server op VMware. Zie Ook Het toevoegen van CPU- of geheugenbronnen voor VMware om de hardwareconfiguratie aan te passen op basis van uw situatie.

Het GitHub Enterprise Server-exemplaar configureren

Schermopname van het venster GitHub Enterprise installeren.

Nadat de zojuist ingerichte virtuele machine (VM) is ingeschakeld, configureert u deze via uw browser. U moet uw licentiebestand uploaden en een beheerconsolewachtwoord instellen. Noteer dit wachtwoord ergens veilig.

Schermopname van het GitHub Enterprise SSH-toegangsscherm om een nieuwe SSH-sleutel toe te voegen.

U wordt ten minste aangeraden de volgende stappen uit te voeren:

  1. Upload een openbare SSH-sleutel naar de beheerconsole, zodat u via SSH toegang hebt tot de beheershell.

  2. Configureer TLS op uw exemplaar zodat u een certificaat kunt gebruiken dat is ondertekend door een vertrouwde certificeringsinstantie. Pas uw instellingen toe.

    Schermopname van de instellingen die worden toegepast op uw exemplaar.

  3. Terwijl het exemplaar opnieuw wordt opgestart, configureert u blobopslag voor GitHub Actions.

    Externe blobopslag is nodig om GitHub Actions in te schakelen op GitHub Enterprise Server (momenteel beschikbaar als bètafunctie). Acties gebruiken deze externe blobopslag om artefacten en logboeken op te slaan. Acties op GitHub Enterprise Server ondersteunen Azure Blob Storage als opslagprovider (en enkele andere). U moet een nieuw Azure-opslagaccount maken met een type opslagaccount van BlobStorage.

    Schermopname van de instantiegegevens die moeten worden ingevoerd voor het inrichten van een Azure Blob Storage-account.

  4. Zodra de implementatie van de nieuwe BlobStorage-resource is voltooid, slaat u de verbindingsreeks (beschikbaar onder Toegangssleutels) op om later te gebruiken.

  5. Nadat het exemplaar opnieuw is opgestart, maakt u een nieuw beheerdersaccount op het exemplaar. Noteer ook het wachtwoord van deze gebruiker.

    Schermopname van het beheerdersaccount maken voor GitHub Enterprise.

Andere configuratiestappen

Als u uw exemplaar voor productiegebruik wilt beperken, worden de volgende optionele installatiestappen aanbevolen:

  1. Hoge beschikbaarheid configureren voor beveiliging tegen:

    • Softwarecrashes (besturingssysteem- of toepassingsniveau)
    • Hardwarefouten (opslag, CPU, RAM, enzovoort)
    • Virtualisatiehostsysteemfouten
    • Logisch of fysiek verbroken netwerk
  2. Configureerback-uphulpprogramma's met versie-momentopnamen voor herstel na noodgevallen, gehost in beschikbaarheid die gescheiden is van het primaire exemplaar.

  3. Installatie van subdomeinisolatie, met behulp van een geldig TLS-certificaat, om het uitvoeren van scripts op meerdere sites en andere gerelateerde beveiligingsproblemen te beperken.

De GitHub Actions-runner instellen

Op dit moment moet een exemplaar van GitHub Enterprise Server worden uitgevoerd, waarbij een beheerdersaccount is gemaakt. U moet ook een externe blobopslag hebben die door GitHub Actions wordt gebruikt voor persistentie.

Maak ergens voor GitHub Actions om uit te voeren met behulp van Azure VMware Solution.

  1. Richt een nieuwe VIRTUELE machine in op het cluster en baseer deze op een recente versie van Ubuntu Server.

    Schermopname van de naam en locatie van de virtuele machine om een nieuwe VM in te richten.

  2. Ga door met de installatie die de rekenresource, opslag en compatibiliteit selecteert.

  3. Selecteer het gastbesturingssystemen dat u wilt installeren op de virtuele machine.

    Schermopname van de versie van het gastbesturingssystemen en het gastbesturingssystemen die op de VIRTUELE machine moeten worden geïnstalleerd.

  4. Zodra de virtuele machine is gemaakt, kunt u deze inschakelen en er verbinding mee maken via SSH.

  5. Installeer de toepassing Actions runner , waarmee een taak wordt uitgevoerd vanuit een GitHub Actions-werkstroom. Identificeer en download de meest recente Linux x64-versie van de Actions runner, hetzij vanaf de releasepagina of door het volgende snelle script uit te voeren. Voor dit script moeten zowel curl als jq aanwezig zijn op uw VIRTUELE machine.

    LATEST\_RELEASE\_ASSET\_URL=$( curl https://api.github.com/repos/actions/runner/releases/latest | \
    
    jq -r '.assets | .[] | select(.name | match("actions-runner-linux-arm64")) | .url' )
    
    DOWNLOAD\_URL=$( curl $LATEST\_RELEASE\_ASSET\_URL | \
    
    jq -r '.browser\_download\_url' )
    
    curl -OL $DOWNLOAD\_URL
    

    U hebt nu een bestand lokaal op uw VIRTUELE machine, actions-runner-linux-arm64-*.tar.gz. Pak deze tarball lokaal uit:

    tar xzf actions-runner-linux-arm64-\*.tar.gz
    

    Met deze extractie worden enkele bestanden lokaal uitgepakt, inclusief een config.sh en run.sh script.

GitHub Actions inschakelen

Configureer en schakel GitHub Actions in op het GitHub Enterprise Server-exemplaar.

  1. Open de beheershell van het GitHub Enterprise Server-exemplaar via SSH en voer vervolgens de volgende opdrachten uit:

  2. Stel een omgevingsvariabele in die uw Blob Storage-verbindingsreeks bevat.

    export CONNECTION\_STRING="<your connection string from the blob storage step>"
    
  3. Configureer de opslag van acties.

    ghe-config secrets.actions.storage.blob-provider azure
    
    ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`      
    
  4. Pas de instellingen toe.

    ghe-config-apply
    
  5. Voer een precheck uit om meer software te installeren die vereist is voor Actions op GitHub Enterprise Server.

    ghe-actions-precheck -p azure -cs "$CONNECTION\_STRING"
    
  6. Schakel acties in en past de configuratie opnieuw toe.

    ghe-config app.actions.enabled true
    
    ghe-config-apply      
    
  7. Controleer de status van uw blobopslag.

    ghe-actions-check -s blob
    

    U ziet uitvoer: Blob Storage is in orde.

  8. Nu GitHub Actions is geconfigureerd, schakelt u deze in voor uw gebruikers. Meld u als beheerder aan bij uw GitHub Enterprise Server-exemplaar en selecteer de rechterbovenhoek van een willekeurige pagina.

  9. Selecteer in de linkerzijbalk Enterprise-overzicht, vervolgens Beleid, Acties en selecteer de optie om Acties voor alle organisaties in te schakelen.

  10. Configureer uw runner op het tabblad Zelf-hostende hardlopers . Selecteer Nieuwe toevoegen en vervolgens Nieuwe runner in de vervolgkeuzelijst. U krijgt een reeks opdrachten te zien die moeten worden uitgevoerd.

  11. Kopieer de opdracht om de runner te configureren , bijvoorbeeld:

    ./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MA
    
  12. Kopieer de config.sh opdracht en plak deze in een sessie op uw Actions runner (eerder gemaakt).

    Schermopname van de registratie en instellingen van de GitHub Actions-runner.

  13. Gebruik de ./run.sh opdracht om de runner uit te voeren :

    Tip

    Als u deze runner beschikbaar wilt maken voor organisaties in uw onderneming, bewerkt u de toegang van de organisatie. U kunt de toegang tot een subset van organisaties en zelfs tot specifieke opslagplaatsen beperken.

    Schermopname van het bewerken van toegang voor de zelf-hostende runners.

(Optioneel) GitHub Connect configureren

Hoewel deze stap optioneel is, raden we u aan om opensource-acties te gebruiken die beschikbaar zijn op GitHub.com. Hiermee kunt u voortbouwen op het werk van anderen door te verwijzen naar deze herbruikbare acties in uw werkstromen.

Als u GitHub Connect wilt inschakelen, volgt u de stappen in Het inschakelen van automatische toegang tot GitHub.com acties met behulp van GitHub Connect.

Zodra GitHub Connect is ingeschakeld, selecteert u de server om acties uit GitHub.com in de werkstroomuitvoeringsoptie te gebruiken.

Schermopname van de server kan acties van GitHub.com in werkstroomuitvoeringen ingeschakeld gebruiken.

Uw eerste werkstroom instellen en uitvoeren

Nu Actions en GitHub Connect zijn ingesteld, gaan we al dit werk goed gebruiken. Hier volgt een voorbeeldwerkstroom die verwijst naar de uitstekende octokit/request-action, zodat we GitHub kunnen 'scripten' via interacties met behulp van de GitHub-API, mogelijk gemaakt door GitHub Actions.

Gebruik in deze eenvoudige werkstroom octokit/request-action om een probleem op GitHub te openen met behulp van de API.

Schermopname van een voorbeeldwerkstroom.

Notitie

GitHub.com de actie host, maar wanneer deze wordt uitgevoerd op GitHub Enterprise Server, wordt automatisch de GitHub Enterprise Server-API gebruikt.

Als u ervoor hebt gekozen Om GitHub Connect niet in te schakelen, kunt u de volgende alternatieve werkstroom gebruiken.

Schermopname van een alternatieve voorbeeldwerkstroom.

  1. Navigeer naar een opslagplaats op uw exemplaar en voeg de bovenstaande werkstroom toe als: .github/workflows/hello-world.yml

    Schermopname van een andere alternatieve voorbeeldwerkstroom.

  2. Wacht op het tabblad Acties voor uw opslagplaats totdat de werkstroom is uitgevoerd.

    Schermopname van een uitgevoerde voorbeeldwerkstroom.

    U kunt zien dat het wordt verwerkt.

    Schermopname van de werkstroom die wordt verwerkt door runner.

Als alles is uitgevoerd, ziet u een nieuw probleem in uw opslagplaats met de naam 'Hallo wereld'.

Schermopname van het probleem 'Hallo wereld' in GitHub dat is gemaakt door github-actions.

Gefeliciteerd. U hebt zojuist uw eerste werkstroom acties voltooid op GitHub Enterprise Server, die wordt uitgevoerd in uw Azure VMware Solution-privécloud.

In dit artikel wordt een nieuw exemplaar van GitHub Enterprise Server ingesteld, het zelf-hostende equivalent van GitHub.com, boven op uw Azure VMware Solution-privécloud. Het exemplaar bevat ondersteuning voor GitHub Actions en maakt gebruik van Azure Blob Storage voor persistentie van logboeken en artefacten. Maar we krabben alleen het oppervlak van wat u kunt doen met GitHub Actions. Bekijk de lijst met acties op De Marketplace van GitHub of maak uw eigen acties.

Volgende stappen

Nu u het instellen van GitHub Enterprise Server in uw Azure VMware Solution-privécloud hebt besproken, vindt u meer informatie over: