vs2017-MVC项目包如何使用octopack自动创建

时间:2018-11-19 04:44:29

标签: .net msbuild octopus-deploy msbuild-task octopack

实际上,我的本地计算机上安装了章鱼服务器,我不想使用 TeamCity,TFS或Build Nrd等第三方工具。我们使用MSBuild。

octopus部署中的新功能,旨在寻找如何在每个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. 如何为每个成功的构建获取唯一的版本号?

如有任何疑问,请询问。

1 个答案:

答案 0 :(得分: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
相关问题