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
Stáhněte si aktuální verzi GitHub Enterprise Serveru pro VMware ESXi/vSphere (OVA) a nasaďte šablonu OVA, kterou jste stáhli .
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.
Vyberte prozatím všechny výchozí hodnoty (podrobnosti, které chcete později upravit) a počkejte, až se naimportuje OVA.
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
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čí.
Doporučujeme provést alespoň následující kroky:
Nahrajte veřejný klíč SSH do konzoly pro správu, abyste měli přístup k prostředí pro správu přes SSH.
Nakonfigurujte protokol TLS ve vaší instanci , abyste mohli použít certifikát podepsaný důvěryhodnou certifikační autoritou. Použijte nastavení.
Zatímco se instance restartuje, nakonfigurujte úložiště objektů blob pro GitHub Actions.
Poznámka:
GitHub Actions je aktuálně k dispozici jako omezená beta verze na GitHub Enterprise Serveru verze 2.22.
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.
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.
Po restartování instance vytvořte v instanci nový účet správce. Nezapomeňte si také poznamenat heslo tohoto uživatele.
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í:
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íť
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.
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
Poznámka:
GitHub Actions je aktuálně k dispozici jako omezená beta verze na GitHub Enterprise Serveru verze 2.22.
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.
Zřiďte nový virtuální počítač v clusteru a založte ho na nedávné verzi Ubuntu Serveru.
Pokračujte v nastavení výběrem výpočetního prostředku, úložiště a kompatibility.
Vyberte hostovaný operační systém, který chcete na virtuálním počítači nainstalovat.
Po vytvoření virtuálního počítače ho zapojte a připojte se k němu přes SSH.
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
arun.sh
skriptu.
Povolení GitHub Actions
Poznámka:
GitHub Actions je aktuálně k dispozici jako omezená beta verze na GitHub Enterprise Serveru verze 2.22.
Nakonfigurujte a povolte GitHub Actions v instanci GitHub Enterprise Serveru.
Přejděte do prostředí pro správu instance GitHub Enterprise Serveru přes SSH a spusťte následující příkazy:
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>"
Nakonfigurujte úložiště akcí.
ghe-config secrets.actions.storage.blob-provider azure ghe-config secrets.actions.storage.azure.connection-string "$CONNECTION\_STRING`
Použijte nastavení.
ghe-config-apply
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"
Povolte akce a znovu proveďte konfiguraci.
ghe-config app.actions.enabled true ghe-config-apply
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.
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.
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.
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.
Zkopírujte příkaz pro konfiguraci spouštěče, například:
./config.sh --url https://10.1.1.26/enterprises/octo-org --token AAAAAA5RHF34QLYBDCHWLJC7L73MA
config.sh
Zkopírujte příkaz a vložte ho do relace ve spouštěči akcí (vytvořených dříve)../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ě.
(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.
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.
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.
Přejděte do úložiště ve vaší instanci a přidejte výše uvedený pracovní postup jako:
.github/workflows/hello-world.yml
Na kartě Akce pro vaše úložiště počkejte, než se pracovní postup spustí.
Uvidíte, že se zpracovává.
Pokud všechno proběhlo úspěšně, měl by se v úložišti zobrazit nový problém s názvem "Hello world".
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: