Azure DevOpsでの「unable to get local issuer certificate」エラーの解決方法
エラーの概要・症状
「unable to get local issuer certificate AZURE DEVOPS」というエラーメッセージは、Azure DevOpsのビルドプロセスやパイプラインで、SSL証明書の問題が発生していることを示しています。このエラーは、自己署名証明書や不正な証明書が原因で発生することがあります。主に以下のような症状が見られます。
- Azure DevOpsのビルドが失敗する。
- NuGetパッケージの復元ができない。
- 他のSSL関連の操作が正常に完了しない。
このエラーは特に、自己署名証明書を使用している環境でよく発生します。
このエラーが発生する原因
「unable to get local issuer certificate AZURE DEVOPS」のエラーは、以下のような理由で発生します。
- 自己署名証明書の使用: 自己署名証明書が信頼されていない場合、SSL接続の確立ができずエラーが発生します。
- 証明書ストアの設定不備: 証明書が正しくインストールされていない、または適切な証明書ストアに存在しない場合、エラーが生じます。
- Gitの設定ミス: GitのSSL設定が不適切な場合、特にWindows環境ではエラーが発生することがあります。
- ネットワーク機器の問題: ファイアウォールやプロキシサーバーに問題がある場合、SSL通信が妨げられることがあります。
解決方法
このエラーを解決するための具体的な方法をいくつか紹介します。
解決方法 1: SSLバックエンドの設定変更
- コマンドプロンプトまたはPowerShellを開きます。
- 次のコマンドを実行して、GitのSSLバックエンドを変更します。
git config --global http.sslbackend schannel - 設定後、再度ビルドを試みてください。この手法は多くのユーザーにとって効果的でした。
解決方法 2: 不正なSSL証明書を受け入れる設定
- Gitの設定を変更して、信頼できないSSL証明書を受け入れるようにします。
- 次のコマンドを実行します。
git config --global http.sslcainfo /path/to/ca-bundle.crt - 必要に応じて、ca-bundle.crtのパスを指定してください。
解決方法 3: NODE_EXTRA_CA_CERTSの設定
- Azure DevOpsエージェントが使用するノードに対して、追加のCA証明書を指定するための環境変数を設定します。
- PowerShellで以下のスクリプトを実行します。
“`powershell
$TargetFolder = if ($env:AGENT_HOMEDIRECTORY -ne $null)

コメント