0

实际上,章鱼服务器安装在我的本地机器上,我不想使用像TeamCity、TFS 这样的构建自动化工具或像 Nant 这样的 3rd 方工具。我们使用 MSBuild。

章鱼部署中的新功能,寻找如何在每个 vs2017 构建中获取包版本唯一编号的想法。到目前为止,知道章鱼需要每个包版本唯一,想在我的 vs2017 项目上使用 MS-build 命令,它可以帮助我在每次成功构建时创建一个唯一编号。

最近在“ VS2017 的开发人员命令提示符”的MSBuild之后使用

msbuild 
/t:build
/p:RunOctoPack=true
/p:OctoPackPackageVersion=1.0.0-BETA-1 /p:OctoPackReleaseNotesFile=ReleaseNotes.txt 
/p:OctoPackPublishPackageToHttp=http://localhost/nuget/packages /p:OctoPackPublishApiKey=API-9MQWIWVDKR44YSGYROUGPPFBXX

有什么方法可以将任何变量与/p:OctoPackPackageVersion一起使用,该变量在每次构建中都会增加。

我正在寻求以下帮助

  1. 每次成功vs2017构建后都想创建一个包?
  2. 如何保持新包不覆盖以前的包?
  3. 如何为每个成功的构建获取唯一的版本号?

如果有任何疑问,请询问。

4

1 回答 1

0

感谢章鱼支持团队,

通常会从 TFS 或 Team City 等构建服务器提供内部版本号。这些版本号默认递增,使它们成为为每个版本提供新版本号的便捷方式。

听起来您是直接从命令行构建,而不是使用构建服务器。在这种情况下,您必须手动管理版本号,并在命令行上传递它们。不推荐这种方法,因为它不能很好地扩展,并且难以管理大型项目。但要开始使用,您可以像这样使用 Powershell 中的日期格式。因为日期保证在构建之间递增,所以它是获取唯一且递增的版本号的快速方法。

msbuild 
/t:build
/p:RunOctoPack=true
/p:OctoPackPackageVersion=$(get-date -Format "yyyy.HH.dd") 
/p:OctoPackReleaseNotesFile=ReleaseNotes.txt 
/p:OctoPackPublishPackageToHttp=http://localhost/nuget/packages 
/p:OctoPackPublishApiKey=API-APIKEYGOESHERE
于 2018-11-20T09:37:22.987 回答