Školení
Modul
Využijte GitHub Actions k publikování do GitHub Packages - Training
Automaticky a bezpečně publikujte knihovny kódu nebo image Dockeru pomocí GitHub Packages.
Tento prohlížeč se už nepodporuje.
Upgradujte na Microsoft Edge, abyste mohli využívat nejnovější funkce, aktualizace zabezpečení a technickou podporu.
Funkce binárního ukládání do mezipaměti vcpkg zkracuje dobu potřebnou k vytváření projektů, které používají GitHub Actions pro kontinuální integraci. Existují dva poskytovatelé binární mezipaměti, kteří jsou k dispozici pro úložiště GitHub, poskytovatele mezipaměti GitHub Actions a poskytovatele mezipaměti NuGet Služby GitHub Packages. Další informace o těchto funkcích GitHubu najdete v mezipaměti GitHub Actions a v GitHub Packages. Další informace o binární ukládání do mezipaměti vcpkg najdete v dokumentaci k funkci binární mezipaměti.
Poznámka
Tato část popisuje experimentální funkci vcpkg, která se může kdykoli změnit nebo odebrat.
Mezipaměť GitHub Actions je určená k ukládání dočasných souborů sestavení úložiště, které se mezi úlohami nebo spuštěními pracovního postupu často nemění. Pro uživatele GitHubu je mezipaměť GitHub Actions přirozeně vhodná pro binární ukládání do mezipaměti vcpkg a je jednodušší nakonfigurovat než integraci binární mezipaměti GitHub Package vcpkg. GitHub nabízí několik různých nástrojů pro správu mezipamětí Akcí, mezi které patří rozhraní REST API a rozšíření nástroje příkazového gh
řádku, abyste mohli optimalizovat mezipaměti pro váš pracovní postup. Integrace vcpkg s mezipamětí GitHub Actions je prostřednictvím zprostředkovatele binárního x-gha
zdroje.
GitHub Packages umožňuje úložišti publikovat binární artefakty pro veřejné nebo soukromé použití. Kromě hostování úložiště pro publikované balíčky podporuje GitHub Packages celou řadu nástrojů pro správu balíčků tím, že funguje jako registr balíčků. Vcpkg může použít rozhraní registru NuGet ke službě GitHub Packages jako mezipaměť binárních artefaktů vcpkg pomocí zprostředkovatele binárního nuget
zdroje. Tato integrace se službami GitHub Packages není tak jednoduchá, protože integrace a správa binárních souborů v mezipaměti GitHub Actions je obtížnější. Díky tomu je mezipaměť GitHub Actions lepší možností pro většinu uživatelů.
Poznámka
Tato část popisuje experimentální funkci vcpkg, která se může kdykoli změnit nebo odebrat.
Tip
Tuto funkci aktivně vyvíjíme a rádi bychom slyšeli vaši zpětnou vazbu. Dejte nám vědět, pokud máte nějaké nápady na aktuální funkce nebo požadované funkce e-mailem vcpkg@microsoft.com nebo vyplněním problému vcpkg. Pokud máte zpětnou vazbu na některou z funkcí GitHubu, které to umožňuje, dejte nám vědět také a my se ujistíme, že se dostanete k správným lidem na GitHubu.
Graf závislostí GitHubu ukládá sadu závislostí pro úložiště. Kromě toho, že gitHub dokáže vizualizovat závislosti úložiště, sestaví na základě těchto dat několik užitečných funkcí, včetně kontroly závislostí a upozornění Dependabot. Další informace najdete v dokumentaci GitHubu k zabezpečení dodavatelského řetězce.
Vcpkg má experimentální podporu pro naplnění grafu závislostí GitHubu z pracovního postupu GitHub Actions. Pokud chcete tuto funkci povolit, proveďte v souboru pracovního postupu následující změny:
VCPKG_FEATURE_FLAGS
prostředí tak, aby zahrnovala hodnotu dependencygraph
.GITHUB_TOKEN
prostředí na hodnotu ${{ secrets.GITHUB_TOKEN }}
.permissions:
contents: write
Graf závislostí GitHubu musíte povolit v nastavení vašeho úložiště (ve výchozím nastavení je to povolené ve veřejných úložištích). V případě privátních úložišť postupujte podle dokumentace GitHubu a povolte graf závislostí, aby tento požadavek splňoval.
Poznámka
Tento příklad předpokládá, že existuje platný vcpkg.json
manifest, který uvádí některé závislé porty. Další informace o manifestech najdete v naší dokumentaci k režimu manifestu.
name: Populate dependencies
on:
push:
branches: [ main ]
workflow_dispatch:
permissions:
contents: write
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VCPKG_FEATURE_FLAGS: dependencygraph
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'
# This will execute a dry-run, meaning that libraries will not be built and
# installed, but they will still be reported to the GitHub dependency graph.
# This step assumes `vcpkg` has been bootstrapped (run `./vcpkg/bootstrap-vcpkg`)
- name: Run vcpkg
run: ${{ github.workspace }}/vcpkg/vcpkg install --dry-run
Zpětná vazba k produktu vcpkg
vcpkg je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby:
Školení
Modul
Využijte GitHub Actions k publikování do GitHub Packages - Training
Automaticky a bezpečně publikujte knihovny kódu nebo image Dockeru pomocí GitHub Packages.