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
Download de huidige versie van GitHub Enterprise Server voor VMware ESXi/vSphere (OVA) en implementeer de OVA-sjabloon die u hebt gedownload.
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.
Selecteer alle standaardwaarden voor nu (details die later moeten worden bewerkt) en wacht totdat de OVA is geïmporteerd.
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
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.
U wordt ten minste aangeraden de volgende stappen uit te voeren:
Upload een openbare SSH-sleutel naar de beheerconsole, zodat u via SSH toegang hebt tot de beheershell.
Configureer TLS op uw exemplaar zodat u een certificaat kunt gebruiken dat is ondertekend door een vertrouwde certificeringsinstantie. Pas uw instellingen toe.
Terwijl het exemplaar opnieuw wordt opgestart, configureert u blobopslag voor GitHub Actions.
Notitie
GitHub Actions is momenteel beschikbaar als een beperkte bètaversie op GitHub Enterprise Server release 2.22.
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.
Zodra de implementatie van de nieuwe BlobStorage-resource is voltooid, slaat u de verbindingsreeks (beschikbaar onder Toegangssleutels) op om later te gebruiken.
Nadat het exemplaar opnieuw is opgestart, maakt u een nieuw beheerdersaccount op het exemplaar. Noteer ook het wachtwoord van deze gebruiker.
Andere configuratiestappen
Als u uw exemplaar voor productiegebruik wilt beperken, worden de volgende optionele installatiestappen aanbevolen:
Hoge beschikbaarheid configureren voor beveiliging tegen:
- Softwarecrashes (besturingssysteem- of toepassingsniveau)
- Hardwarefouten (opslag, CPU, RAM, enzovoort)
- Virtualisatiehostsysteemfouten
- Logisch of fysiek verbroken netwerk
Configureerback-uphulpprogramma's met versie-momentopnamen voor herstel na noodgevallen, gehost in beschikbaarheid die gescheiden is van het primaire exemplaar.
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
Notitie
GitHub Actions is momenteel beschikbaar als een beperkte bètaversie op GitHub Enterprise Server release 2.22.
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.
Richt een nieuwe VIRTUELE machine in op het cluster en baseer deze op een recente versie van Ubuntu Server.
Ga door met de installatie die de rekenresource, opslag en compatibiliteit selecteert.
Selecteer het gastbesturingssystemen dat u wilt installeren op de virtuele machine.
Zodra de virtuele machine is gemaakt, kunt u deze inschakelen en er verbinding mee maken via SSH.
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
enrun.sh
script.
GitHub Actions inschakelen
Notitie
GitHub Actions is momenteel beschikbaar als een beperkte bètaversie op GitHub Enterprise Server release 2.22.
Configureer en schakel GitHub Actions in op het GitHub Enterprise Server-exemplaar.
Open de beheershell van het GitHub Enterprise Server-exemplaar via SSH en voer vervolgens de volgende opdrachten uit:
Stel een omgevingsvariabele in die uw Blob Storage-verbindingsreeks bevat.
export CONNECTION\_STRING="<your connection string from the blob storage step>"
Configureer de opslag van acties.
ghe-config secrets.actions.storage.blob-provider azure ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`
Pas de instellingen toe.
ghe-config-apply
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"
Schakel acties in en past de configuratie opnieuw toe.
ghe-config app.actions.enabled true ghe-config-apply
Controleer de status van uw blobopslag.
ghe-actions-check -s blob
U ziet uitvoer: Blob Storage is in orde.
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.
Selecteer in de linkerzijbalk Enterprise-overzicht, vervolgens Beleid, Acties en selecteer de optie om Acties voor alle organisaties in te schakelen.
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.
Kopieer de opdracht om de runner te configureren , bijvoorbeeld:
./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MA
Kopieer de
config.sh
opdracht en plak deze in een sessie op uw Actions runner (eerder gemaakt).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.
(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.
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.
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.
Navigeer naar een opslagplaats op uw exemplaar en voeg de bovenstaande werkstroom toe als:
.github/workflows/hello-world.yml
Wacht op het tabblad Acties voor uw opslagplaats totdat de werkstroom is uitgevoerd.
U kunt zien dat het wordt verwerkt.
Als alles is uitgevoerd, ziet u een nieuw probleem in uw opslagplaats met de naam 'Hallo wereld'.
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: