我试图在Team Services
的Release配置上执行一些git命令。
我按照this指南在我的回购上允许git。 到目前为止,我只能在Build配置上执行此命令,因此我创建了一个命令行任务并在那里执行git命令,并且它正常工作。
但是在我的发布定义中,我想在改变环境后做一个'git branch'。当我尝试在命令行任务上执行git命令时,请收到以下消息:fatal: Not a git repository (or any of the parent directories): .git
这是因为Release试图在我的drop
文件夹上执行命令。
如何在Release
任务上对我的仓库执行git命令。
答案 0 :(得分:1)
正如您所知,它导致您复制到$(build.artifactstagingdirectory)
的工件只是文件的一部分(例如**\bin\$(BuildConfiguration)\**
)而不是构建定义中的整个源代码。因此.git
文件夹(构建工件)中没有这样的drop
文件夹。
如果您需要在发布中检查git repo信息,则应在构建中将复制文件任务的内容指定为**
。然后你可以在发布版中使用git命令。
要在发布时运行git命令,首先应该更改当前路径。这是因为发布的当前工作目录,如C:\_work\r1\a
,但您的git根路径如C:\_work\r1\a\buildName\drop
。所以你最好使用 powershell task 来运行git命令。 PowerShell任务的设置:
输入:内联脚本 内联脚本:
cd buildName
cd drop
git branch -a
注意:由于源代码没有本地分支,因此您应使用git branch -a
查找源代码中的所有分支和当前HEAD
。