2017-08-27 83 views
0

我正在联机设置VSTS构建。我的源代码包含一个从属子模块。 当我建立构建的定义,我选择退房子模块:由于陈旧的子模块,Visual Studio Online构建失败或如何在构建之前更新子模块

enter image description here

然而,这不拉辅助模块的库中的最新版本(HEAD)。它似乎拉动了与创建子模块时相对应的子模块版本。

所以我增加了一个生成任务执行 git submodule update --remote 但这种失败,此错误

2017-08-27T01:17:39.1000559Z fatal: could not read Username for 'https://[myaccount].visualstudio.com': No error 
2017-08-27T01:17:39.1580556Z Unable to fetch in submodule path 'The SubModule' 
2017-08-27T01:17:39.1803843Z ##[error]Process completed with exit code 1. 
2017-08-27T01:17:39.1840570Z ##[section]Finishing: Update sub modules 

我怎样才能获得最新版本的子模块,无论是在生成设置或通过任务?

回答

0

我想通了 -

  1. 我的本地机器上执行git submodule update --remote。这将在本地更新子模块以及.gitmodules文件。
  2. 检查更新
  3. 执行构建,它会正常工作,不需要任何其他脚本。
+0

没错。在当前提交时添加子模块 - 无论何时想要更新到较新版本的子模块,您都需要执行更新并提交这些更改。子模块不会自动更新以反映远程存储库。而且_definitely_不应该在构建内部执行此操作,这会使您的CI与本地构建不同步。 –