最近の開発ツールを触っていると、プロキシに阻まれることが結構あります。 Azure DevOps の場合も同様で、各種チュートリアルのほとんどが、プロキシの存在を無視して解説しています。 そしてすごく質問を受けます。
ということで、今回は Azure DevOps の Deployment Group のエージェントをプロキシ内に置く方法を書いておきます。 これでイントラ内のサーバーに、 Azure DevOps からアプリケーションをリリースできるようになります。
やり方
OSにプロキシサーバーの設定を追加する
OSにプロキシサーバーの設定を行っておきます。 ネットワークオプションで設定すればOKです。
Deployment Group への登録スクリプトを取得する
続いて以下の手順に従って、 Azure DevOps の [Deployment groups] メニューから、エージェントを登録するための PowerShell スクリプトを取得します。
スクリプトをプロキシサーバーに対応するよう編集する
取得したスクリプトの最後の方にある [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] オプションを使用して、ユーザー名とパスワードを設定することができます。 設定方法の詳細は以下を参照してください。
実行する
編集後のスクリプトを管理者権限で起動した PowerShell ターミナルで実行してください。 なお PowerShell ISE では、インストール/アンインストールともに実行できないので注意です。