【解決方法】LinuxビルドエージェントでRESTリクエストを行う


TeamCity 上に Linux ビルド エージェント (Docker) を使用しています。問題が発生しています。API リクエストを実行するテストがありますが、TeamCity でビルドが実行されているときに、これらのエンドポイントにリクエストを行うことができません。

ローカルで「IPAddress.Loopback」を使用すると、127.0.0.1 が取得されます。ポートには、フリー アドレスを返すユーティリティ クラスがあります。

var _localHost = "http://127.0.0.1:44393";
RestClient client = new RestClient(new RestClientOptions(_localHost)
	{ Authenticator = new HttpBasicAuthenticator("ApiUser", "pwd") });
RestRequest request = new RestRequest("/ClientConfiguration/enabledcleints/2");

私が試したこと:

IPAddress.Loopback がエージェントでは機能しないことがわかっているので、次の方法で試してみました

– ビルドエージェントのIPアドレス
– 172.26.0.1 (どこかで読んだこれが docker のデフォルトです)
– 172.17.0.2 (これも同様)

解決策 1

これは JetBrains TeamCity 固有の問題のようです。 検索してから、サポート フォーラムで質問してみてください。 https://teamcity-support.jetbrains.com/hc/en-us[^]。 例えば: Ubuntu 上のエージェントがループバックにバインドされる[^]

コメント

タイトルとURLをコピーしました