ツナ缶雑記

ぐうたらSEのブログです。主にマイクロソフト系技術を中心に扱います。

Azure DevOps の Deployment Group にプロキシ内のサーバーをエージェントとして登録する

最近の開発ツールを触っていると、プロキシに阻まれることが結構あります。 Azure DevOps の場合も同様で、各種チュートリアルのほとんどが、プロキシの存在を無視して解説しています。 そしてすごく質問を受けます。

ということで、今回は Azure DevOps の Deployment Group のエージェントをプロキシ内に置く方法を書いておきます。 これでイントラ内のサーバーに、 Azure DevOps からアプリケーションをリリースできるようになります。

やり方

OSにプロキシサーバーの設定を追加する

OSにプロキシサーバーの設定を行っておきます。 ネットワークオプションで設定すればOKです。

Deployment Group への登録スクリプトを取得する

続いて以下の手順に従って、 Azure DevOps の [Deployment groups] メニューから、エージェントを登録するための PowerShell スクリプトを取得します。

docs.microsoft.com

スクリプトをプロキシサーバーに対応するよう編集する

取得したスクリプトの最後の方にある [config.cmd] を実行している個所を編集します。

# 前略
.\config.cmd --deploymentgroup --deploymentgroupname "<Deployment Groupの名前>" --agent $env:COMPUTERNAME --runasservice --work '_work' --url '<Azure DevOps 組織の URL>' --projectname '<プロジェクト名>' --auth PAT --token <Personal Access Token> --proxyurl <プロキシサーバーの URL>;
Remove-Item $agentZip;

ただコピーしただけの状態ですと、 [--proxyurl] のオプションが設定されていません。 またプロキシサーバーに認証が必要な場合は、 [--proxyusername] および [--proxypassword] オプションを使用して、ユーザー名とパスワードを設定することができます。 設定方法の詳細は以下を参照してください。

docs.microsoft.com

実行する

編集後のスクリプトを管理者権限で起動した PowerShell ターミナルで実行してください。 なお PowerShell ISE では、インストール/アンインストールともに実行できないので注意です。

github.com