2015-08-24 24 views
5

~ 30 dakika boyunca çalışan bir powershell komut dosyası var (çeşitli işlemlerin bitmesini bekliyoruz). Sonunda, olayın bir başarı veya başarısızlık olup olmadığını belirlemek için olay günlüğüne bir mesaj yazar. Bu betiği ekip içinde barındırarak planlamayı ve planın başarısız olmasını istiyorum, ancak bunun gerçekleşmesi için senaryo ile ekipler arasındaki etkileşimi nasıl kullanacağımı bilmiyorum.powershell betiğiyle Teamcity etkileşimi

Bir başarısızlık mı yoksa başarı mı olduğu konusunda ekip üyesine iletişim kurmak için uzaktan çalışan bir powershell komut dosyası oluşturmanın bir yolunu arıyorum. Birçok ekip belgelerini okudum ve bunun nasıl devam edeceğinden hala emin değilim.

cevap

7

Muhtemelen TeamCity Service Messages veya özellikle Reporting Build Problems kullanmayı düşünmelisiniz.

PowerShell kullanarak bir servis mesajı (eğer PowerShell derleme adımı kullandığınız varsayılarak) yayarlar nasıl bir örnek:

Write-Output "##teamcity[buildStatus text='I am a successful build']" 

veya

Write-Output "##teamcity[buildProblem description='$powershell_error_message']" 

yakaladığınız Powershell hatasını enjekte mesaj.

+0

Bunu gören başkaları için dikkat edilmesi gereken bir nokta, başarısız olması için açıklamayı eşleşen yapılandırma yapılandırmaları> hata koşulları altında belirli bir hata koşulu eklemem gerektiğidir. – Speerian

+0

@Speerian Bu ilginç; Bir başarısızlık koşulu olmadan çalışan bir yapı var ve bir 'buildProblem' hizmet iletisiyle beklendiği gibi başarısız oluyor; Powershell runner oluşturma adımı ve satır içi kaynak komut dosyası kullanarak. Harici komut dosyalarını çalıştırırken belki de farklı davranışlar vardır. – SteveChapman