2014-09-18 23 views
5

Tôi đang cố gắng làm theo một số hướng dẫn từ this article mô tả thực hành tốt nhất NuGet và SemVer.Làm thế nào để không pad truy cập xây dựng trong TeamCity

Point # 3 tiểu bang mà tôi nên "Sử dụng số không hàng đầu trong hậu tố số để prereleases auto-increment" nhưng tôi đấu tranh làm việc ra làm thế nào tôi có thể zero pad build.counter tham số trong TeamCity vì vậy mà tôi có được 0025 thay vì 25.

Có ai có cơ chế xử lý việc này không?

Trả lời

2

Nếu tôi là bạn, tôi sẽ làm sử dụng GitVersion. Nó bao gồm một tùy chọn để sử dụng phiên bản LegacySemVerPadded của số phiên bản được tạo. Có rất nhiều khác nhau alternatives of the generated version number là tốt.

Có một TeamCity Meta Runner cho số here.

GitVersion thực hiện công việc tính số phiên bản ngữ nghĩa mới cho bạn, dựa trên trạng thái hiện tại của kho lưu trữ của bạn.

Nếu không, hãy thực hiện công việc ở nơi khác, trong PowerShell, sau đó sử dụng TeamCity Service Messages để thay đổi số bản dựng trong TeamCity. Bạn có thể tìm thấy Mô-đun PowerShell here.

Điều đó cung cấp một số chức năng trợ giúp để thực hiện điều đó.

+0

Cảm ơn - Tôi sẽ xem GitVersion. – starskythehutch

+0

@starskythehutch nó là những gì chúng tôi đang sử dụng trong nhà, và những gì tôi sẽ làm cho việc sử dụng trong dự án này, https://github.com/chocolatey/ChocolateyGUI, vì vậy hãy hỏi bất kỳ câu hỏi nào :-) –

4

Bạn có thể viết một kịch bản PowerShell như:

function Update-BuildNumber([string]$buildNumber) 
{ 
    $VersionComponents = $buildNumber.Split(".") 
    $buildNumber = "" 
    foreach($VersionComponent in $VersionComponents) 
    { 
     $index = [array]::IndexOf($VersionComponents, $VersionComponent) 
     if (($index + 1) -eq $VersionComponents.Count) 
     { 
      $buildNumber += "00" + $VersionComponent 
     } 
     else 
     { 
      $buildNumber += $VersionComponent + "." 
     } 
    } 
    Write-Output "##teamcity[buildNumber '$buildNumber']" 
} 

Và gọi nó từ một bước TeamCity xây dựng và thông qua các tham số %build.number% cái gì đó như:

Update-BuildNumber -buildNumber %build.number% 
+3

Nếu số bản dựng của bạn là một bộ đếm đơn giản (1, 2, 3, 4, ...), bạn có thể thực hiện việc này bằng cách sử dụng một lớp lót PowerShell trong TeamCity: '" ## teamcity [buildNumber '{0}'] "-f ([Int32]% build.number%). ToString (" 0000 ") | Viết-Host' –

Các vấn đề liên quan