我想在我的私人项目上有一个微型的ci循环,并在想如果我可以在batfile中运行msbuild,我可以在cmd窗口上有彩色的反馈,并自动构建。因此,如果我可以从提交后钩子触发bat,我想这是可能的。这不可能是一个新的想法,但我在谷歌上找不到任何例子。
如有任何意见,我们将不胜感激:)
发布于 2011-09-13 21:29:33
从post-commit钩子调用.bat文件不需要任何魔法。
将.git/hooks/post-commit.sample中的提交后钩子模板重命名为.git/hooks/post-commit,并通过简单地写入批处理文件的名称来调用其中的批处理文件:
#!/bin/sh
path/to/batchfile.bat请注意,git钩子的工作目录是您的存储库的根目录。如果您使用.bat文件的相对路径,则必须考虑到这一点。
发布于 2013-03-21 07:54:40
@eckes的答案是关闭,但实际上正在运行我的bat/cmd文件,就好像它们是bash脚本一样。如果你想把它们作为批处理文件来运行,下面是我想要的:
post-接收
#!/bin/sh
# important that it's got the .exe on the end!
cmd.exe /c "C:\path\to\somebatch.cmd"somebatch.cmd
下面是一些你可能会发现有用的东西/环境变量等:
@echo off
:: read commit hook stdin data e.g. "aa45321… 68f7abf… refs/heads/master"
set /p OLDREV_NEWREV_REFNAME=
echo Directory of this script is %~dp0
echo Repository root is %CD%
set OLDREV=%OLDREV_NEWREV_REFNAME:~0,40%
echo OLDREV: %OLDREV%
set NEWREV=%OLDREV_NEWREV_REFNAME:~41,40%
echo NEWREV: %NEWREV%
set REFNAME=%OLDREV_NEWREV_REFNAME:~82,999%
echo REFNAME: %REFNAME%https://stackoverflow.com/questions/7401303
复制相似问题