增加版本然后在MsBuild开始之前将更改推送到Git

时间:2015-01-25 16:39:00

标签: git powershell msbuild

我在一个解决方案中有三个单独的MVC网站,我正试图改进它们的发布过程。在我的发布构建开始之前,我想在共享版本文件中增加版本,然后使用Git推送此更改。我有一个powershell脚本,它增加了版本并且它运行良好但我无法找到如何将这些更改作为构建的一部分。

任何帮助或建议都会很棒。 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您应该构建发布版本的那一部分。添加一个用于递增版本号并推送存储库的目标,并使您的发布目标依赖于它们:

<Target Name="IncrementVersion">
  <Exec Command="powershell.exe -File C:\path\to\your.ps1" />
</Target>

<Target Name="PushRepo">
  <Exec Command="git push ..." />
</Target>

<Target Name="Release" DependsOnTargets="IncrementVersion; PushRepo">
  ...
</Target>

构建目标将导致首先构建其依赖项,in the order they appear(从左到右)。

PushRepoIncrementVersion目标都通过git.exe元素执行外部命令(powershell.exe<Exec>)。对于PushRepo目标,这意味着必须安装Git,并且git.exe必须位于您构建目标的任何系统的PATH中。如果安装了Git,但可执行文件不在PATH中,则需要在Command属性中指定可执行文件的完整路径。

请注意,push只会将已提交的更改推送到上游存储库。要包含通过IncrementVersion目标所做的更改,您必须先发出commit