Sdílet prostřednictvím


Konfigurace GitHub Enterprise Serveru v řešení Azure VMware

V tomto článku se dozvíte, jak nastavit GitHub Enterprise Server, místní verzi GitHub.com ve vašem privátním cloudu Azure VMware Solution. Tento scénář se zabývá instancí GitHub Enterprise Serveru, která může obsluhovat až 3 000 vývojářů s až 25 úlohami za minutu v GitHub Actions. Zahrnuje nastavení (v době psaní) funkcí ve verzi Preview , jako je GitHub Actions. Pokud chcete přizpůsobit nastavení pro konkrétní potřeby, projděte si požadavky uvedené v části Instalace GitHub Enterprise Serveru na VMware.

Než začnete

GitHub Enterprise Server vyžaduje platný licenční klíč. Můžete si zaregistrovat zkušební licenci. Pokud chcete rozšířit možnosti GitHub Enterprise Serveru prostřednictvím integrace, zkontrolujte, jestli máte nárok na bezplatnou 5místnou vývojářskou licenci. Požádat o tuto licenci prostřednictvím Partnerského programu GitHubu

Instalace GitHub Enterprise Serveru na VMware

  1. Stáhněte si aktuální verzi GitHub Enterprise Serveru pro VMware ESXi/vSphere (OVA) a nasaďte šablonu OVA, kterou jste stáhli .

    Snímek obrazovky znázorňující GitHub Enterprise Server v možnostech instalace VMware

    Snímek obrazovky s možností Nabídky Nasadit šablonu OVA

  2. Zadejte rozpoznatelný název nového virtuálního počítače, například GitHubEnterpriseServer. Do názvu virtuálního počítače nemusíte zahrnovat podrobnosti o verzi, protože tyto podrobnosti se při upgradu instance stanou zastaralými.

  3. Vyberte prozatím všechny výchozí hodnoty (podrobnosti, které chcete později upravit) a počkejte, až se naimportuje OVA.

  4. Po importu upravte konfiguraci hardwaru podle svých potřeb. V našem ukázkovém scénáři potřebujeme následující konfiguraci.

    Prostředek Standardní nastavení Standardní nastavení a "beta funkce" (akce)
    Počet vCPU 4 8
    Memory (Paměť) 32 GB 61 GB
    Připojené úložiště 250 GB 300 GB
    Kořenové úložiště 200 GB 200 GB

    Vaše potřeby se můžou lišit. Projděte si pokyny k aspektům hardwaru při instalaci GitHub Enterprise Serveru na VMware. Viz Také přidání prostředků procesoru nebo paměti pro VMware pro přizpůsobení konfigurace hardwaru na základě vaší situace.

Konfigurace instance GitHub Enterprise Serveru

Snímek obrazovky s oknem Nainstalovat GitHub Enterprise

Po zapnutí nově zřízeného virtuálního počítače ho nakonfigurujte v prohlížeči. Musíte nahrát licenční soubor a nastavit heslo konzoly pro správu. Nezapomeňte si toto heslo zapsat někam do bezpečí.

Snímek obrazovky s přístupovou obrazovkou GitHub Enterprise SSH pro přidání nového klíče SSH

Doporučujeme provést alespoň následující kroky:

  1. Nahrajte veřejný klíč SSH do konzoly pro správu, abyste měli přístup k prostředí pro správu přes SSH.

  2. Nakonfigurujte protokol TLS ve vaší instanci , abyste mohli použít certifikát podepsaný důvěryhodnou certifikační autoritou. Použijte nastavení.

    Snímek obrazovky znázorňující nastavení použité pro vaši instanci

  3. Zatímco se instance restartuje, nakonfigurujte úložiště objektů blob pro GitHub Actions.

    Externí úložiště objektů blob je nezbytné k povolení GitHub Actions na GitHub Enterprise Serveru (aktuálně je k dispozici jako funkce beta verze). Akce používají toto externí úložiště objektů blob k ukládání artefaktů a protokolů. Akce na GitHub Enterprise Serveru podporují Azure Blob Storage jako poskytovatele úložiště (a některé další). Musíte vytvořit nový účet úložiště Azure s typem účtu úložiště BlobStorage.

    Snímek obrazovky znázorňující podrobnosti o instanci, které se mají zadat pro zřízení účtu služby Azure Blob Storage

  4. Po dokončení nasazení nového prostředku BlobStorage uložte připojovací řetězec (dostupné v přístupových klíčích), abyste ho mohli použít později.

  5. Po restartování instance vytvořte v instanci nový účet správce. Nezapomeňte si také poznamenat heslo tohoto uživatele.

    Snímek obrazovky znázorňující účet pro vytvoření účtu správce pro GitHub Enterprise

Další kroky konfigurace

Pro posílení zabezpečení vaší instance pro použití v produkčním prostředí se doporučuje následující volitelné kroky nastavení:

  1. Konfigurace vysoké dostupnosti pro ochranu proti:

    • Chybové ukončení softwaru (úroveň operačního systému nebo aplikace)
    • Selhání hardwaru (úložiště, procesor, paměť RAM atd.)
    • Selhání hostitelského systému virtualizace
    • Logicky nebo fyzicky poškozená síť
  2. Nakonfigurujte nástroje zálohování, které poskytují snímky s verzí pro zotavení po havárii hostované v dostupnosti, která je oddělená od primární instance.

  3. Nastavte izolaci subdomény pomocí platného certifikátu TLS, abyste zmírnit skriptování mezi weby a další související chyby zabezpečení.

Nastavení spouštěče GitHub Actions

V tuto chvíli byste měli mít spuštěnou instanci GitHub Enterprise Serveru s vytvořeným účtem správce. Měli byste mít také externí úložiště objektů blob, které GitHub Actions používá pro trvalost.

Vytvořte někam pro GitHub Actions spuštění pomocí azure VMware Solution.

  1. Zřiďte nový virtuální počítač v clusteru a založte ho na nedávné verzi Ubuntu Serveru.

    Snímek obrazovky znázorňující název a umístění virtuálního počítače pro zřízení nového virtuálního počítače

  2. Pokračujte v nastavení výběrem výpočetního prostředku, úložiště a kompatibility.

  3. Vyberte hostovaný operační systém, který chcete na virtuálním počítači nainstalovat.

    Snímek obrazovky znázorňující verzi hostovaného operačního systému a hostovaného operačního systému, která se má nainstalovat na virtuální počítač

  4. Po vytvoření virtuálního počítače ho zapojte a připojte se k němu přes SSH.

  5. Nainstalujte aplikaci Actions runner , která spouští úlohu z pracovního postupu GitHub Actions. Identifikujte a stáhněte nejnovější verzi Linuxu x64 spouštěče akcí, a to buď ze stránky vydaných verzí, nebo spuštěním následujícího rychlého skriptu. Tento skript vyžaduje, aby na vašem virtuálním počítači byly k dispozici curl i jq .

    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
    

    Teď byste měli mít soubor místně na virtuálním počítači, actions-runner-linux-arm64-*.tar.gz. Extrahujte tento tarball místně:

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

    Tato extrakce rozbalí několik souborů místně, včetně config.sh a run.sh skriptu.

Povolení GitHub Actions

Nakonfigurujte a povolte GitHub Actions v instanci GitHub Enterprise Serveru.

  1. Přejděte do prostředí pro správu instance GitHub Enterprise Serveru přes SSH a spusťte následující příkazy:

  2. Nastavte proměnnou prostředí obsahující připojovací řetězec úložiště objektů blob.

    export CONNECTION\_STRING="<your connection string from the blob storage step>"
    
  3. Nakonfigurujte úložiště akcí.

    ghe-config secrets.actions.storage.blob-provider azure
    
    ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`      
    
  4. Použijte nastavení.

    ghe-config-apply
    
  5. Proveďte předběžnou kontrolu instalace dalšího softwaru vyžadovaného akcemi na GitHub Enterprise Serveru.

    ghe-actions-precheck -p azure -cs "$CONNECTION\_STRING"
    
  6. Povolte akce a znovu proveďte konfiguraci.

    ghe-config app.actions.enabled true
    
    ghe-config-apply      
    
  7. Zkontrolujte stav úložiště objektů blob.

    ghe-actions-check -s blob
    

    Měl by se zobrazit výstup: Blob Storage je v pořádku.

  8. Teď, když je GitHub Actions nakonfigurovaný, povolte ho pro uživatele. Přihlaste se k instanci GitHub Enterprise Serveru jako správce a vyberte v pravém horním rohu libovolné stránky.

  9. Na levém bočním panelu vyberte Přehled organizace, pak Zásady, Akce a vyberte možnost povolit akce pro všechny organizace.

  10. Nakonfigurujte spouštěč na kartě Spouštěče v místním prostředí. V rozevíracím seznamu vyberte Přidat nový a potom Nový spouštěč. Zobrazí se sada příkazů, které se mají spustit.

  11. Zkopírujte příkaz pro konfiguraci spouštěče, například:

    ./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MA
    
  12. config.sh Zkopírujte příkaz a vložte ho do relace ve spouštěči akcí (vytvořených dříve).

    Snímek obrazovky znázorňující registraci a nastavení spouštěče GitHub Actions

  13. ./run.sh Spuštění spouštěče pomocí příkazu:

    Tip

    Pokud chcete, aby byl tento spouštěč k dispozici organizacím ve vašem podniku, upravte přístup organizace. Můžete omezit přístup k podmnožině organizací a dokonce i na konkrétní úložiště.

    Snímek obrazovky znázorňuje, jak upravit přístup pro spouštěče v místním prostředí.

(Volitelné) Konfigurace GitHub Connectu

I když je tento krok nepovinný, doporučujeme, pokud plánujete využívat opensourcové akce dostupné na GitHub.com. Umožňuje vám stavět na práci ostatních tím, že na tyto opakovaně použitelné akce ve vašich pracovních postupech odkazujete.

Pokud chcete povolit GitHub Connect, postupujte podle pokynů v tématu Povolení automatického přístupu k GitHub.com akcím pomocí GitHub Connectu.

Jakmile je služba GitHub Connect povolená, vyberte server, který použije akce z GitHub.com v možnosti spuštění pracovního postupu.

Snímek obrazovky se serverem může používat akce z GitHub.com ve spuštění pracovního postupu Povoleno.

Nastavení a spuštění prvního pracovního postupu

Teď, když jsou akce a GitHub Connect nastavené, pojďme všechny tyto kroky použít. Tady je ukázkový pracovní postup, který odkazuje na vynikající akci octokit/request-action, což nám umožňuje "skriptovat" GitHub prostřednictvím interakcí pomocí rozhraní API GitHubu využívajícího GitHub Actions.

V tomto základním pracovním postupu použijte octokit/request-action k otevření problému na GitHubu pomocí rozhraní API.

Snímek obrazovky s ukázkovým pracovním postupem

Poznámka:

GitHub.com hostuje akci, ale když běží na GitHub Enterprise Serveru, automaticky používá rozhraní API GitHub Enterprise Serveru.

Pokud jste se rozhodli nepovolit GitHub Connect, můžete použít následující alternativní pracovní postup.

Snímek obrazovky s alternativním ukázkovým pracovním postupem

  1. Přejděte do úložiště ve vaší instanci a přidejte výše uvedený pracovní postup jako: .github/workflows/hello-world.yml

    Snímek obrazovky s jiným alternativním ukázkovým pracovním postupem

  2. Na kartě Akce pro vaše úložiště počkejte, než se pracovní postup spustí.

    Snímek obrazovky s spuštěným ukázkovým pracovním postupem

    Uvidíte, že se zpracovává.

    Snímek obrazovky pracovního postupu zpracovávaného spouštěčem

Pokud všechno proběhlo úspěšně, měl by se v úložišti zobrazit nový problém s názvem "Hello world".

Snímek obrazovky s problémem Hello World na GitHubu vytvořeném github-actions

Blahopřejeme! Právě jste dokončili svůj první pracovní postup Akcí na GitHub Enterprise Serveru, který běží v privátním cloudu Azure VMware Solution.

Tento článek nastavil novou instanci GitHub Enterprise Serveru, což je místní ekvivalent GitHub.com nad privátním cloudem Azure VMware Solution. Tato instance zahrnuje podporu GitHub Actions a využívá Azure Blob Storage k trvalosti protokolů a artefaktů. Ale my jen poškrábáme povrch toho, co můžete dělat s GitHub Actions. Podívejte se na seznam akcí na Marketplace GitHubu nebo si vytvořte vlastní.

Další kroky

Teď, když jste se zabývali nastavením GitHub Enterprise Serveru v privátním cloudu Azure VMware Solution, přečtěte si další informace: