トレーニング
ラーニング パス
GitHub Actions を使用してワークフローを自動化する - Training
GitHub Actions を使用して、ソフトウェア開発サイクルを自動化し、アプリケーションを Azure にデプロイできるようにする方法について説明します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
vcpkg のバイナリ キャッシュ機能により、GitHub Actions を使用して継続的インテグレーションを行うプロジェクトのビルドにかかる時間が短縮されます。 GitHub リポジトリには、GitHub Actions キャッシュ プロバイダーと GitHub Packages NuGet キャッシュ プロバイダーの 2 つのバイナリ キャッシュ プロバイダーがあります。 これらの GitHub 機能の詳細については、GitHub Actions のキャッシュと GitHub パッケージに関するページを参照してください。 vcpkg バイナリ キャッシュの詳細については、バイナリ キャッシュ機能のドキュメントを参照 してください。
注意
このセクションでは、いつでも変更または削除できる vcpkg の試験的な機能について説明します。
GitHub Actions キャッシュは、ジョブまたはワークフローの実行間で頻繁に変更されないリポジトリの中間ビルド ファイルを格納することを目的としています。 GitHub ユーザーの場合、GitHub Actions キャッシュは vcpkg のバイナリ キャッシュに適しており、vcpkg の GitHub Package バイナリ キャッシュ統合よりも簡単に構成できます。 GitHub には、ワークフローのキャッシュを最適化できるように、REST API とコマンド ライン ツールの gh
拡張機能を含む、Actions キャッシュを管理するためのいくつかの異なるツールが用意されています。 vcpkg と GitHub Actions キャッシュの統合は、バイナリ ソース プロバイダーを通じて行 x-gha
われます。
GitHub パッケージを使用すると、リポジトリでパブリックまたはプライベートの使用のためにバイナリ成果物を発行できます。 発行されたパッケージのストレージをホストするだけでなく、GitHub Packages はパッケージ レジストリとして機能することで、さまざまなパッケージ管理ツールをサポートします。 vcpkg は、バイナリ ソース プロバイダーを使用して、GitHub Packages への NuGet レジストリ インターフェイスを vcpkg バイナリ 成果物の nuget
キャッシュとして使用できます。 GitHub Packages とのこの統合は、GitHub Actions キャッシュの統合とキャッシュされたバイナリの管理がより困難であるため、ほとんどのユーザーにとって GitHub Actions キャッシュの方が優れたオプションになります。
注意
このセクションでは、いつでも変更または削除できる vcpkg の試験的な機能について説明します。
ヒント
この機能は積極的に開発されており、フィードバックをお聞かせください。 現在の機能や必要な機能に関するご意見がある場合は、電子メールを送信vcpkg@microsoft.comするか、vcpkg で問題を提出して、お知らせください。 これが可能な GitHub 機能に関するフィードバックがある場合は、それをお知らせください。GitHub で適切なユーザーに確実にアクセスできるようにします。
GitHub 依存関係グラフには、リポジトリの依存関係のセットが格納されます。 GitHub では、リポジトリの依存関係を視覚化できるだけでなく、依存関係の確認や Dependabot アラートなど、このデータの上にいくつかの便利な機能を構築しています。 詳細については、サプライ チェーンのセキュリティ保護に関する GitHub のドキュメントを参照してください。
vcpkg には、GitHub Actions ワークフロー内から GitHub 依存関係グラフを設定するための試験的なサポートがあります。 この機能を有効にするには、ワークフロー ファイルで次の変更を行います。
dependencygraph
をVCPKG_FEATURE_FLAGS
含むように環境変数を設定します。GITHUB_TOKEN
値 ${{ secrets.GITHUB_TOKEN }}
に設定します。permissions:
contents: write
リポジトリの設定で GitHub 依存関係グラフを有効にする必要があります (パブリック リポジトリでは既定で有効になっています)。 プライベート リポジトリの場合は、GitHub のドキュメントに従って、この要件を満たすために依存関係グラフを有効にします。
注意
この例では、いくつかの依存ポートを一覧表示する有効な vcpkg.json
マニフェストがあることを前提としています。 マニフェストの詳細については、マニフェスト モードに関するドキュメントを参照してください。
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
vcpkg に関するフィードバック
vcpkg はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。
トレーニング
ラーニング パス
GitHub Actions を使用してワークフローを自動化する - Training
GitHub Actions を使用して、ソフトウェア開発サイクルを自動化し、アプリケーションを Azure にデプロイできるようにする方法について説明します。