ビルドサーバーが非常にビジーです。良い日には、ほぼ 200 GB のアーティファクトを作成します。クリーンアップ ポリシーは 1 日に 1 回実行できますが、これは私の場合には十分ではありません。teamcity のドキュメントを検索したところ、トリガーのクリーンアップを手動でサポートする API エンドポイントが見つかりませんでした。
スクリプト/プログラムから手動でクリーンアップをトリガーすることは可能ですか? これを達成する方法は?
最悪の場合、手動でクリーンアップを強制したときに何が起こるかをいじって追跡することもできますが、その道は面倒で、行きたくありません。
ここにもC#バージョンがあります
void Main()
{
var cookieContainer = new CookieContainer();
var baseAddress = new Uri("http://teamcity");
var contentDictionary = new Dictionary<string,string>();
contentDictionary["cleanupPageAction"]= "startCleanup";
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer,
Credentials = new NetworkCredential("user","password","domain")})
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
var content = new FormUrlEncodedContent(contentDictionary);
var result = client.PostAsync("/admin/cleanupPolicies.html", content).Result;
result.EnsureSuccessStatusCode();
}
}