增加版本,然后在MsBuild启动之前将更改推送到Git

增加版本,然后在MsBuild启动之前将更改推送到Git,git,powershell,msbuild,Git,Powershell,Msbuild,我在一个解决方案中有三个独立的MVC网站,我正在努力改进它们的发布过程。在发布构建开始之前,我希望在共享版本文件中增加版本,然后使用Git推动此更改。我有一个增强版本的powershell脚本,它工作得很好,但我不知道如何将这些更改作为构建的一部分 任何帮助或建议都会很好。 提前谢谢 您应该将该部分作为发布版本的一部分。添加用于增加版本号和推送存储库的目标,并使您的发布目标依赖于它们: <Target Name="IncrementVersion"> <Exec Comma

我在一个解决方案中有三个独立的MVC网站,我正在努力改进它们的发布过程。在发布构建开始之前,我希望在共享版本文件中增加版本,然后使用Git推动此更改。我有一个增强版本的powershell脚本,它工作得很好,但我不知道如何将这些更改作为构建的一部分

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

您应该将该部分作为发布版本的一部分。添加用于增加版本号和推送存储库的目标,并使您的发布目标依赖于它们:

<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>

...
构建目标将导致首先构建其依赖项(从左到右)

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


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

感谢您的帮助!我使用默认的git模板来执行构建。它会识别git命令吗?我需要在服务器端安装任何东西吗?最后,我假设它将从增量版本中获取更改,如果是这样,是否只是调用git commit和git push?很抱歉,我最近才转到Git,问了这么多问题!