GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Jak nastavit automatické sestavení pro obrázky Docker na GitHubu

GitHub má funkci nazvanou Akce GitHub, která spouští automatické sestavení, testy a další skripty, kdykoli provedete změny v úložišti. Jedním z praktických příkladů použití je automatické vytváření a odesílání kontejnerů Docker do registru kontejnerů.

Nový registr kontejnerů GitHubu

Nový registr kontejnerů GitHub, nazvaný GitHub Container Registry, je trochu jiný než většina registrů, jako je Docker Hub. Funguje jako rozšíření GitHub Packages, systému pro ukládání balíčků, který spojuje balíčky s jejich úložišti zdrojového kódu. Balíčky lze sestavit a odeslat z úložiště, často automaticky s pomocí kanálu akcí GitHub.

GitHub Container Registry jednoduše přidává do balíčků GitHub kompatibilitu specifickou pro Docker, takže funguje jako registr kontejnerů pro účely spouštění docker pull a další příkazy CLI.

Nemusíte publikovat do registru kontejnerů GitHubu – stále můžete publikovat do Docker Hub z akce s určitou konfigurací. Předem připravené akce však fungují s GHCR ihned po vybalení, takže je mnohem jednodušší nastavit.

Jak nastavit automatické sestavení balíčků GitHub

Chcete-li začít, budete potřebovat úložiště. I když publikujete pouze balíčky, stále budete potřebovat repo, protože formát pro GHCR je:

ghcr.io/username/repository/image:version

Nastavte repo a poté kliknutím na „Akce“ vytvořte novou akci. V části „Další pracovní postupy kontinuální integrace“ klikněte na „Publikovat kontejner Docker“.

Tím se vygeneruje úvodní šablona, ​​která vyžaduje několik změn, aby fungovala. Nejprve IMAGE_NAME proměnnou je třeba změnit na název vašeho obrázku.

Poté na řádku 39 zjistíte, kde se přihlašuje do GHCR.

run: echo "${{ secrets.CR_PAT }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin

V současné době je jediným podporovaným ověřovacím schématem osobní přístupové tokeny (PAT), což není skvělé pro zabezpečení, protože poskytují přístup pro celý účet. GitHub to ví a pracuje na lepší opravě do budoucna, ale pokud chcete mezitím používat GHCR z pracovního postupu GitHub Actions, budete muset uložit PAT do Tajemství pro vaše úložiště, protože evidentně stačí vložit tady by to bylo hrozné.

Nejprve budete muset přejít do Nastavení> Nastavení vývojáře> Osobní přístupové tokeny a vytvořit nový token. Tento token potřebuje write:packages a delete:packages nastavení. Všimněte si, že z nějakého důvodu výběr balíčků pro zápis automaticky vybere „Plná kontrola úložišť“, kterou musíte zrušit.

Poté přejděte do nastavení úložiště a vytvořte nový tajný klíč s názvem CR_PAT , aby odpovídala akci.

Vraťte se k akci a kliknutím na „Start Commit“ ji odešlete do úložiště.

Jakmile je potvrzeno, spustí pracovní postup ke spuštění a sestavení balíčku. Stav všech běžících pracovních postupů můžete sledovat na kartě „Akce“. Zde se to nezdařilo, protože výchozí akce očekávají, že budou spuštěny testy, které tento obrázek neměl.

Jakmile bude úspěšná, měli byste vidět kontejner v registru v části „Balíčky“ na hlavní stránce úložiště nebo pod balíčky ve vašem profilu.


Docker
  1. Jak přesunout obrazy Dockeru mezi hostiteli

  2. Jak vyhledávat, stahovat, seznamovat a odstraňovat obrázky Docker v systému Linux

  3. Jak sdílet obrázky Docker s ostatními

  1. Jak upravit obrázky Docker

  2. Jak nastavit Docker v systému Windows pro Linux (WSL2) v systému Windows 10

  3. Jak nastavím výchozí přezdívku pro nová připojení irssi?

  1. Jak nastavit automatické zálohování

  2. Jak skenovat obrázky kontejnerů Docker kvůli zranitelnosti pomocí Trivy

  3. Jak podepsat své obrázky dockeru, abyste zvýšili důvěru