2017-07-03 118 views
0

我有一個dotnet核心項目,我想建立和部署。在使用Team City和Octopus Deploy時設置dotnet核心項目的版本?

目前我在TC中有三個步驟;

  • DOTNET恢復
  • DOTNET包
  • 章魚部署:推

在OD我希望用它衝壓成OD接收內置的存儲庫中的包的版本。

它幾乎可行!

但是!

TC始終構建爲像Ajf.IdentityServer.1.0.0-54.nupkg(步驟2,dotnet pack)這樣的文件。

第2步,dotnet包,有一個選項 - 版本後綴 - 我正在使用%build.counter%。

我想要版本形成爲1.0.0.54,而不是1.0.0-54。

顯然,OD沒有問題(我可以部署這些格式不正確的版本),但它只是感覺...錯了?

我該如何用TC計算出的'正確'版本來標記我的版本?

謝謝! ;)

回答

1

你可以引入一個額外的屬性在MSBuild中使用。

如果修改的csproj設置的版本是這樣介紹的自定義BuildNumber屬性默認爲0

<PropertyGroup> 
    <BuildNumber Condition="'$(BuildNumber)' == ''">0</BuildNumber> 
    <VersionPrefix>1.2.3.$(BuildNumber)</VersionPrefix> 
</PropertyGroup> 

那麼你可以傳遞BuildNumber作爲附加參數所有相關dotnet調用:

dotnet pack -c Release /p:BuildNumber=%build.counter% 
+0

它只是工作!我的英雄!謝謝! –

相關問題