次の方法で共有


エージェント ソフトウェア バージョン 3

パイプライン チームは、エージェント ソフトウェアをバージョン 2.x (.NET Core 3.1 を使用) からバージョン 3.x (.NET 6 を使用) にアップグレードしています。 新しいエージェント バージョンでは、新しい Apple シリコン ハードウェアと、Ubuntu 22.04 や ARM64 版 Windows などの新しいオペレーティング システムがサポートされます。

Note

この機能は、Azure DevOps Server 2022.1 以降で使用できます。

サポートされているオペレーティング システムで 3.x エージェントにアップグレードする

.NET 6 でサポートされている新しいオペレーティング システムでセルフホステッド エージェントを実行している場合、新しいエージェント バージョンへのアップグレードは自動的に行われます。

3.x エージェントでは次のオペレーティング システムがサポートされています。

  • Linux
    • X64
      • Debian 10+
      • Fedora 36+
      • openSUSE 15+
      • Red Hat Enterprise Linux 7+
        • 個別のパッケージが不要になりました
      • SUSE Enterprise Linux 12 SP2 以降
      • Ubuntu 22.04、20.04、18.04、16.04
      • Azure Linux 2.0
      • Oracle Linux 7 以降
    • ARM64
      • Debian 10+
      • Ubuntu 22.04、20.04、18.04
    • Alpine x64
  • macOS
    • X64
      • macOS 10.15 "Catalina"
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Monterey"
      • macOS 13.0 "Ventura"
      • macOS 14.0 "Sonoma"
    • ARM64
      • macOS 11.0 "Big Sur"
      • macOS 12.0 "Monterey"
      • macOS 13.0 "Ventura"
      • macOS 14.0 "Sonoma"
  • Windows
    • クライアント OS
      • Windows 7 SP1 ESU
      • Windows 8.1
      • Windows 10
      • Windows 11
    • サーバー OS
      • Windows Server 2012 以降

サポートされていないオペレーティング システムで 3.x エージェントにアップグレードする

.NET 6 でサポートされていないオペレーティング システムでセルフホステッド エージェントを実行している場合は、.NET 6 でサポートされている新しいサポート対象のオペレーティング システムを使用するようにマシンを更新する必要があります。

次のオペレーティング システムの一覧は、セルフホステッド 2.x エージェントでよく使用されます。 これらのオペレーティング システムは .NET 6 ではサポートされていないため、新しい .NET 6 ベースのバージョン 3.x エージェントの実行には使用できません。

システム/ディストリビューション .NET 6 でサポートされていないバージョン
Debian < = 4.9
Fedora < = 32
RedHat Enterprise Linux <= 6
Ubuntu < 18.04 LTS
macOS < 10.15

スクリプトを使って、セルフホステッド プールのエージェントを 2.x から 3.x にアップグレードできるかどうかを予測できます。

エージェント バージョン 2.218 (または RHEL 6 では 2.214) でパイプラインを実行しようとすると、ここに記載されているサポートされていないオペレーティング システムのいずれかで実行されているパイプラインは、次のエラー メッセージで失敗します: This operating system will stop receiving updates of the Pipelines Agent in the future. To be able to continue to run pipelines please upgrade the operating system or set an environment variable or agent knob "AGENT_ACKNOWLEDGE_NO_UPDATES" to "true". See https://aka.ms/azdo-pipeline-agent-v2-eos for more information.

このエラーを解決する場合、次の操作を行うことができます。

  1. この記事で前述したサポートされているオペレーティング システムのいずれかに、エージェント マシンをアップグレードしたり、移動したりする。 これは推奨されるソリューションであり、将来のエージェントの更新プログラムを取得できます。
  2. 環境変数またはパイプライン変数を設定して、エージェントで AGENT_ACKNOWLEDGE_NO_UPDATES 変数を設定する。
  • /etc/environmentetc/profile.d など、エージェントで環境変数を構成することで AGENT_ACKNOWLEDGE_NO_UPDATES を設定できます。AGENT_ACKNOWLEDGE_NO_UPDATES=true

  • パイプライン変数を設定できます。

    jobs:
    - job: 'agentWithVariables'
      displayName: 'Agent with variables'
    
      variables:
        AGENT_ACKNOWLEDGE_NO_UPDATES: 'true' # Required to not fail job on operating system that is not supported by .NET 6
    

よく寄せられる質問

2.x エージェントと 3.x エージェントの違いは何ですか?

2.x エージェント (2.212 など) は .NET Core 3.1 であり、3.x エージェント (3.212 など) は .NET 6 です。 フェーズ I と II では、両方のバージョンを使用でき、3.x バージョンはプレリリース段階にあります。

エージェントを 3.x にアップグレードできるかどうかは、どうすれば調べられますか?

スクリプトを使って、セルフホステッド プールのエージェントを 2.x から 3.x にアップグレードできるかどうかを予測できます。

今後、エージェントのセキュリティの問題はどのように修正されますか?

2023 年第 1 四半期にセルフホステッド プールで .NET 6 エージェントが一般公開されると、通常、2.x エージェントに適用されるパッチはなくなります。 パッチは、3.x エージェントに対してのみ適用されます。 ただし、まだ 2.x エージェントを使用している Azure DevOps Server のお客様もいます。 そのため、個々の状況に応じてセキュリティの問題を確認し、決定します。

サポートされていない OS を使っている場合はどうすればよいですか?

.NET 6 で現在サポートされている新しいオペレーティング システムに移行する必要があります。 そうしないと、エージェントによってアップグレードが試みられる可能性があり、.NET 6 を OS にインストールできないために失敗します。 エージェントの自動アップグレードを防ぐフォローアップ ブログ投稿で、いくつかのガイダンスが公開されます。 ただし、これは、エージェント マシンのアップグレードに少しの猶予をもたらす一時的なソリューションに過ぎません。

これ以上プロジェクトで変更を続けなければ、2.x エージェントを使い続けることはできますか?

いいえ。 パイプライン チームは定期的に Azure Pipelines に新しい機能を追加していますが、その一部では、パイプラインがその機能に明示的に依存していない場合でも、エージェントの更新が必要になる場合があります。 フォローアップ ブログのガイダンスを使ってエージェントの自アップグレードを防ぐ場合、そのエージェントを使ってパイプラインをスケジュールすることはできません。 必要な機能を持つエージェントが見つからない場合、パイプラインの実行は失敗します。

3.x エージェント ソフトウェアをインストールする前に .NET 6 をインストールする必要がありますか?

3.x エージェント ソフトウェアをインストールして構成する前に、エージェント マシンに .NET 6 をインストールする必要はありません。 3.x エージェントに必要なすべての .NET 依存関係は、エージェント自体に組み込まれています。

3.x エージェントを使っている場合、.NET 6 を使ってコードをビルドする必要がありますか?

3.x エージェントの実行に使用される .NET のバージョンは、エージェントのインストールに自己完結しており、コードのビルドには使用されません。 コードのビルドに使用される .NET のバージョンは、パイプラインと、エージェント マシンにインストールした .NET のバージョン (複数可) によって異なります。

Azure DevOps Service ではなく、Azure DevOps Server を使用します。 この変更の影響はありますか?

はい。次のセクションに記載されている Azure DevOps Server のいずれかのバージョンを使用している場合。

パイプライン チームでは、将来 Azure DevOps Server リリースに対応する予定の場合は、今後、.NET 6 でサポートされる新しいオペレーティング システムにエージェント マシンを更新することをお勧めしています。

Azure DevOps Server は 3.x エージェントをサポートしていますか

Azure DevOps Server のバージョンは、そのバージョンでデプロイされるエージェントのバージョンをサポートします。 Azure DevOps Server の次のバージョンには、その Azure DevOps Server バージョンでサポートされている 3.x エージェントのバージョンが含まれます。 Azure DevOps Server のインストールに 3.x エージェントをインストールするには、Azure DevOps Server のバージョンを次のいずれかのバージョンに更新します。

エージェント バージョン 3 のデプロイのタイムラインはどうなっていますか?

エージェント バージョン 3 は 2023 年 3 月にリリースされました。

タスクでエージェントをエージェント バージョン 3 に更新する必要がある場合、どうなりますか?

通常、タスクに新しいバージョンのエージェントが必要な場合は、自動的に更新されます。 現時点では、エージェント バージョン 2 は引き続き更新されますが、エージェント バージョン 2 からエージェント バージョン 3 への自動更新は無効になっています。 これを有効にすると、エージェント バージョン 3 と互換性のないオペレーティング システムの場合、エージェント バージョン 2.217 以降では、v3 エージェントへの更新は試行されません。 代わりに、最初にオペレーティング システムをアップグレードする必要があることをユーザーに通知する警告が表示されます: The operating system the agent is running on is <OS>, which will not be supported by the .NET 6 based v3 agent. Please upgrade the operating system of this host to ensure compatibility with the v3 agent. See https://aka.ms/azdo-pipeline-agent-version