Share via


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.

    Screenshot showing the GitHub Enterprise Server on VMware installation options.

    Screenshot showing the Deploy the OVA Template menu option.

  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

Screenshot of the Install GitHub Enterprise window.

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.

Screenshot of the GitHub Enterprise SSH access screen to add a new SSH key.

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.

    Screenshot showing the settings being applied to your instance.

  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.

    Screenshot showing the instance details to enter for provisioning an Azure Blob Storage account.

  4. När den nya BlobStorage-resursdistributionen är klar sparar du anslutningssträng (tillgänglig 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.

    Screenshot showing the Create admin account for 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. Konfigurerasä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.

    Screenshot showing the virtual machine name and location to provision a new VM.

  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.

    Screenshot showing the Guest OS Family and Guest OS version to install on the VM.

  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-anslutningssträng.

    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).

    Screenshot showing the GitHub Actions runner registration and settings.

  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.

    Screenshot of how to edit access for the self-hosted runners.

(Valfritt) Konfigurera GitHub-Anslut

Ä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-Anslut följer du stegen i Aktivera automatisk åtkomst till GitHub.com åtgärder med hjälp av GitHub-Anslut.

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

Screenshot of the Server can use actions from GitHub.com in workflow runs Enabled.

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

Nu när Åtgärder och GitHub Anslut 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.

Screenshot of an example workflow.

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 Anslut kan du använda följande alternativa arbetsflöde.

Screenshot of an alternative example workflow.

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

    Screenshot of another alternative example workflow.

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

    Screenshot of an executed example workflow.

    Du kan se att den bearbetas.

    Screenshot of the workflow processed by runner.

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

Screenshot of the Hello world issue in GitHub created by github-actions.

Gratulerar! 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: