Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Zwischenspeichern von mit vcpkg erstellten Binärdateien für Ihre GitHub-Actions-Workflows
Das Feature für die binäre Zwischenspeicherung von vcpkg verringert die Zeit, die zum Erstellen von Projekten benötigt wird, die GitHub-Aktionen für die kontinuierliche Integration verwenden. Weitere Informationen finden Sie in der Dokumentation zu binären Cachefeatures.
Der NuGet-Cacheanbieter für GitHub-Pakete
GitHub-Pakete ermöglichen Es Repositorys, binäre Artefakte für die öffentliche oder private Verwendung zu veröffentlichen. Über das Hosting von Speicher für veröffentlichte Pakete hinaus bietet gitHub Packages-Unterstützung eine NuGet-Registrierungsschnittstelle, die vcpkg als binären Cache mit dem Anbieter für nuget binäre Quellen verwenden kann.
Das GitHub-Abhängigkeitsdiagramm
Hinweis
In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.
Tipp
Wir entwickeln dieses Feature aktiv und möchten Ihr Feedback hören. Teilen Sie uns mit, ob Sie Gedanken zur aktuellen Funktionalität oder zur gewünschten Funktionalität haben, indem Sie eine E-Mail senden vcpkg@microsoft.com oder ein Problem in vcpkg melden. Wenn Sie Feedback zu den GitHub-Features haben, die dies ermöglicht, teilen Sie uns das ebenfalls mit, und wir stellen sicher, dass es auf GitHub zu den richtigen Leuten kommt.
Informationen zum GitHub-Abhängigkeitsdiagramm
Im GitHub-Abhängigkeitsdiagramm werden die Abhängigkeiten für ein Repository gespeichert. Über die Möglichkeit hinaus, die Abhängigkeiten eines Repositorys zu visualisieren, erstellt GitHub mehrere nützliche Features auf diesen Daten, einschließlich Abhängigkeitsüberprüfungen und Dependabot-Warnungen. Weitere Informationen finden Sie in der Dokumentation zu GitHub zum Sichern Ihrer Lieferkette.
vcpkg-Integration in das GitHub-Abhängigkeitsdiagramm
vcpkg verfügt über experimentelle Unterstützung für das Auffüllen des GitHub-Abhängigkeitsdiagramms aus einem GitHub-Aktionsworkflow. Um dieses Feature zu aktivieren, nehmen Sie die folgenden Änderungen in der Workflowdatei vor:
- Legen Sie die Umgebungsvariable
VCPKG_FEATURE_FLAGSfest, um den Wertdependencygrapheinzuschließen. - Legen Sie die
GITHUB_TOKENUmgebungsvariable auf den Wert${{ secrets.GITHUB_TOKEN }}fest. - Gewähren Sie GitHub-Aktionen Schreibzugriff auf die Inhalte Ihres Repositorys, indem Sie den folgenden Berechtigungsblock einschließen. Dies ist erforderlich, um die Abhängigkeitsdiagrammmetadaten in Ihr Repository zu schreiben. Dadurch werden Ihrem Repository keine Commits hinzugefügt, noch werden andere Änderungen an den Inhalten Ihres Repositories vorgenommen.
permissions:
contents: write
Sie müssen das GitHub-Abhängigkeitsdiagramm in den Einstellungen Ihres Repositorys aktivieren (standardmäßig in öffentlichen Repositorys aktiviert). Folgen Sie für private Repositorys der GitHub-Dokumentation, um das Abhängigkeitsdiagramm zu aktivieren , um diese Anforderung zu erfüllen.
Bekannte Einschränkungen
- Die version von vcpkg gebündelt mit GitHub Actions runners ist möglicherweise nicht auf dem neuesten Stand. Verwenden Sie die neueste Version von vcpkg, um Zugriff auf dieses Feature zu erhalten und die neuesten Fehlerbehebungen zu erhalten.
- Features, die vom Abhängigkeitsdiagramm abhängen, z. B. Dependabot-Warnungen und Pullanforderungen von Dependabot, sind noch nicht verfügbar. Bitte teilen Sie uns mit, ob Sie an diesen Features interessiert sind!
Beispielworkflow für GitHub-Aktionen
Hinweis
In diesem Beispiel wird davon ausgegangen, dass ein gültiges vcpkg.json Manifest vorhanden ist, das einige abhängige Ports auflistet. Weitere Informationen zu Manifesten finden Sie in unserer Dokumentation zum Manifestmodus.
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