实际上,我的本地计算机上安装了章鱼服务器,我不想使用 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 中使用任何变量的变量,该变量在每次构建时都会递增。
我正在寻找有关以下方面的帮助
如有任何疑问,请询问。
答案 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