Konfigurera GitHub Enterprise Server på Azure VMware Solution

I den här artikeln får du lära dig hur du konfigurerar GitHub Enterprise Server, den "lokala" versionen av GitHub.com, i ditt privata Azure VMware Solution-moln. Scenariot omfattar en GitHub Enterprise Server-instans som kan hantera upp till 3 000 utvecklare som kör upp till 25 jobb per minut på GitHub Actions. Den innehåller konfigurationen av (i skrivande stund) förhandsgranskningsfunktioner , till exempel GitHub Actions. Om du vill anpassa konfigurationen för dina specifika behov läser du kraven i Installera GitHub Enterprise Server på VMware.

Innan du börjar

GitHub Enterprise Server kräver en giltig licensnyckel. Du kan registrera dig för en utvärderingslicens. Om du vill utöka funktionerna i GitHub Enterprise Server via en integrering kontrollerar du om du är berättigad till en kostnadsfri femsitsig utvecklarlicens. Ansök om den här licensen via GitHubs partnerprogram.

Installera GitHub Enterprise Server på VMware

  1. Ladda ned den aktuella versionen av GitHub Enterprise Server for VMware ESXi/vSphere (OVA) och distribuera OVA-mallen som du laddade ned.

    Skärmbild som visar installationsalternativen för GitHub Enterprise Server på VMware.

    Skärmbild som visar menyalternativet Distribuera OVA-mallen.

  2. Ange ett igenkännbart namn för den nya virtuella datorn, till exempel GitHubEnterpriseServer. Du behöver inte inkludera versionsinformationen i namnet på den virtuella datorn eftersom informationen blir inaktuell när instansen uppgraderas.

  3. Välj alla standardvärden för tillfället (information som ska redigeras senare) och vänta tills OVA har importerats.

  4. När du har importerat justerar du maskinvarukonfigurationen baserat på dina behov. I vårt exempelscenario behöver vi följande konfiguration.

    Resurs Standardkonfiguration Standarduppsättning + "Betafunktioner" (åtgärder)
    vCPU:er 4 8
    Minne 32 GB 61 GB
    Ansluten lagring 250 GB 300 GB
    Rotlagring 200 GB 200 GB

    Dina behov kan variera. Se vägledningen om maskinvaruöverväganden i Installera GitHub Enterprise Server på VMware. Mer information finns i Lägga till PROCESSOR- eller minnesresurser för VMware för att anpassa maskinvarukonfigurationen baserat på din situation.

Konfigurera GitHub Enterprise Server-instansen

Skärmbild av fönstret Installera GitHub Enterprise.

När den nyligen etablerade virtuella datorn (VM) har aktiverats konfigurerar du den via webbläsaren. Du måste ladda upp licensfilen och ange ett lösenord för hanteringskonsolen. Var noga med att skriva ned det här lösenordet någonstans säkert.

Skärmbild av GitHub Enterprise SSH-åtkomstskärmen för att lägga till en ny SSH-nyckel.

Vi rekommenderar att du åtminstone vidtar följande steg:

  1. Ladda upp en offentlig SSH-nyckel till hanteringskonsolen så att du kan komma åt det administrativa gränssnittet via SSH.

  2. Konfigurera TLS på din instans så att du kan använda ett certifikat som signerats av en betrodd certifikatutfärdare. Använd inställningarna.

    Skärmbild som visar de inställningar som tillämpas på din instans.

  3. När instansen startas om konfigurerar du bloblagring för GitHub Actions.

    Extern bloblagring krävs för att aktivera GitHub Actions på GitHub Enterprise Server (för närvarande tillgängligt som en "beta"-funktion). Åtgärder använder den här externa bloblagringen för att lagra artefakter och loggar. Åtgärder på GitHub Enterprise Server stöder Azure Blob Storage som lagringsprovider (och några andra). Du måste skapa ett nytt Azure-lagringskonto med lagringskontotypen BlobStorage.

    Skärmbild som visar instansinformationen som ska anges för etablering av ett Azure Blob Storage-konto.

  4. När den nya BlobStorage-resursdistributionen är klar sparar du niska veze (finns under Åtkomstnycklar) för senare användning.

  5. När instansen har startats om skapar du ett nytt administratörskonto på instansen. Anteckna även användarens lösenord.

    Skärmbild som visar Skapa administratörskonto för GitHub Enterprise.

Andra konfigurationssteg

För att härda instansen för produktionsanvändning rekommenderas följande valfria konfigurationssteg:

  1. Konfigurera hög tillgänglighet för skydd mot:

    • Programvarukrascher (operativsystem eller programnivå)
    • Maskinvarufel (lagring, CPU, RAM och så vidare)
    • Systemfel för virtualiseringsvärdar
    • Logiskt eller fysiskt avhugget nätverk
  2. Konfigurera säkerhetskopieringsverktyg, tillhandahålla versionshanterade ögonblicksbilder för haveriberedskap, som finns i tillgänglighet som är separat från den primära instansen.

  3. Konfigurera underdomänisering med hjälp av ett giltigt TLS-certifikat för att minimera skript mellan webbplatser och andra relaterade säkerhetsrisker.

Konfigurera GitHub Actions-löparen

Nu bör du ha en instans av GitHub Enterprise Server igång med ett administratörskonto skapat. Du bör också ha extern bloblagring som GitHub Actions använder för beständighet.

Skapa någonstans där GitHub Actions kan köras med Azure VMware Solution.

  1. Etablera en ny virtuell dator i klustret och basera den på en ny version av Ubuntu Server.

    Skärmbild som visar namn och plats för den virtuella datorn för att etablera en ny virtuell dator.

  2. Fortsätt genom konfigurationen och välj beräkningsresurs, lagring och kompatibilitet.

  3. Välj det gästoperativsystem som du vill installera på den virtuella datorn.

    Skärmbild som visar den gästoperativsystemfamilj och gästoperativsystemversion som ska installeras på den virtuella datorn.

  4. När den virtuella datorn har skapats startar du den och ansluter till den via SSH.

  5. Installera actions runner-programmet , som kör ett jobb från ett GitHub Actions-arbetsflöde. Identifiera och ladda ned den senaste Linux x64-versionen av Actions-löparen, antingen från versionssidan eller genom att köra följande snabbskript. Det här skriptet kräver att både curl och jq finns på den virtuella datorn.

    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
    

    Nu bör du ha en fil lokalt på den virtuella datorn, actions-runner-linux-arm64-*.tar.gz. Extrahera den här tarballen lokalt:

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

    Den här extraheringen packar upp några filer lokalt, inklusive ett skript och run.sh ett config.sh skript.

Aktivera GitHub Actions

Konfigurera och aktivera GitHub Actions på GitHub Enterprise Server-instansen.

  1. Få åtkomst till GitHub Enterprise Server-instansens administrativa gränssnitt via SSH och kör sedan följande kommandon:

  2. Ange en miljövariabel som innehåller din Blob Storage-niska veze.

    export CONNECTION\_STRING="<your connection string from the blob storage step>"
    
  3. Konfigurera lagring av åtgärder.

    ghe-config secrets.actions.storage.blob-provider azure
    
    ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`      
    
  4. Använd inställningarna.

    ghe-config-apply
    
  5. Kör en förkontroll för att installera mer programvara som krävs av Åtgärder på GitHub Enterprise Server.

    ghe-actions-precheck -p azure -cs "$CONNECTION\_STRING"
    
  6. Aktivera åtgärder och använd konfigurationen igen.

    ghe-config app.actions.enabled true
    
    ghe-config-apply      
    
  7. Kontrollera hälsotillståndet för bloblagringen.

    ghe-actions-check -s blob
    

    Du bör se utdata: Blob Storage är felfri.

  8. Nu när GitHub Actions har konfigurerats aktiverar du det för dina användare. Logga in på din GitHub Enterprise Server-instans som administratör och välj det övre högra hörnet på valfri sida.

  9. I det vänstra sidofältet väljer du Företagsöversikt, sedan Principer, Åtgärder och väljer alternativet för att aktivera Åtgärder för alla organisationer.

  10. Konfigurera löparen från fliken Lokalt installerade löpare . Välj Lägg till ny och sedan Ny löpare i listrutan. Du får en uppsättning kommandon som ska köras.

  11. Kopiera kommandot för att konfigurera löparen, till exempel:

    ./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MA
    
  12. config.sh Kopiera kommandot och klistra in det i en session på din Actions-löpare (skapades tidigare).

    Skärmbild som visar GitHub Actions-löparens registrering och inställningar.

  13. ./run.sh Använd kommandot för att köra löparen:

    Dricks

    Om du vill göra den här löparen tillgänglig för organisationer i företaget redigerar du dess organisationsåtkomst. Du kan begränsa åtkomsten till en delmängd av organisationer och även till specifika lagringsplatser.

    Skärmbild av hur du redigerar åtkomst för de lokalt installerade löparna.

(Valfritt) Konfigurera GitHub Connect

Även om det här steget är valfritt rekommenderar vi det om du planerar att använda åtgärder med öppen källkod som är tillgängliga på GitHub.com. Det gör att du kan bygga vidare på andras arbete genom att referera till dessa återanvändbara åtgärder i dina arbetsflöden.

Om du vill aktivera GitHub Connect följer du stegen i Aktivera automatisk åtkomst till GitHub.com åtgärder med GitHub Connect.

När GitHub Connect har aktiverats väljer du alternativet Server för att använda åtgärder från GitHub.com i arbetsflödeskörningar .

Skärmbild av servern kan använda åtgärder från GitHub.com i arbetsflödeskörningar aktiverade.

Konfigurera och köra ditt första arbetsflöde

Nu när Åtgärder och GitHub Connect har konfigurerats ska vi använda allt det här arbetet på ett bra sätt. Här är ett exempelarbetsflöde som refererar till den utmärkta octokit/request-action, så att vi kan "skripta" GitHub via interaktioner med GitHub-API:et, som drivs av GitHub Actions.

I det här grundläggande arbetsflödet använder du octokit/request-action för att öppna ett problem på GitHub med hjälp av API:et.

Skärmbild av ett exempelarbetsflöde.

Kommentar

GitHub.com är värd för åtgärden, men när den körs på GitHub Enterprise Server använder den automatiskt GitHub Enterprise Server-API:et.

Om du väljer att inte aktivera GitHub Connect kan du använda följande alternativa arbetsflöde.

Skärmbild av ett alternativt exempelarbetsflöde.

  1. Navigera till en lagringsplats på din instans och lägg till arbetsflödet ovan som: .github/workflows/hello-world.yml

    Skärmbild av ett annat alternativt exempelarbetsflöde.

  2. På fliken Åtgärder för lagringsplatsen väntar du på att arbetsflödet ska köras.

    Skärmbild av ett körningsexempelarbetsflöde.

    Du kan se att den bearbetas.

    Skärmbild av arbetsflödet som bearbetas av runner.

Om allt har körts korrekt bör du se ett nytt problem på lagringsplatsen med titeln "Hello world".

Skärmbild av Hello World-problemet i GitHub som skapats av github-actions.

Grattis! Du har precis slutfört ditt första åtgärdsarbetsflöde på GitHub Enterprise Server, som körs i ditt privata Azure VMware Solution-moln.

Den här artikeln konfigurerar en ny instans av GitHub Enterprise Server, den lokala motsvarigheten till GitHub.com, ovanpå ditt privata Azure VMware Solution-moln. Instansen innehåller stöd för GitHub Actions och använder Azure Blob Storage för beständighet av loggar och artefakter. Men vi skrapar bara på ytan av vad du kan göra med GitHub Actions. Kolla in listan över åtgärder på GitHubs Marketplace eller skapa en egen.

Nästa steg

Nu när du har gått igenom hur du konfigurerar GitHub Enterprise Server i ditt privata Azure VMware Solution-moln kan du läsa mer om: