Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio “a”怎么说;“延迟提交”;使用源代码管理存储库和CI服务器?_Visual Studio_Visual Studio 2008_Version Control_Continuous Integration_Teamcity - Fatal编程技术网

Visual studio “a”怎么说;“延迟提交”;使用源代码管理存储库和CI服务器?

Visual studio “a”怎么说;“延迟提交”;使用源代码管理存储库和CI服务器?,visual-studio,visual-studio-2008,version-control,continuous-integration,teamcity,Visual Studio,Visual Studio 2008,Version Control,Continuous Integration,Teamcity,我想知道“延迟提交”功能在未与源代码管理存储库集成的CI服务器上是如何工作的。从概念上讲,该过程的工作原理如下: 签入代码更改 CI服务器生成更改 如果构建通过,代码将提交到源代码管理存储库 如果生成失败,则代码不会提交到源代码管理存储库 大多数CI服务器的工作方式是轮询源代码管理存储库中的更改,然后提取代码。因此,在延迟提交场景中,开发人员是否将代码检入CI服务器而不是实际的源代码管理存储库,然后CI服务器将代码传递到存储库?或者,如果构建失败,CI服务器是否只是回滚更改 我特别想到两个连续集

我想知道“延迟提交”功能在未与源代码管理存储库集成的CI服务器上是如何工作的。从概念上讲,该过程的工作原理如下:

  • 签入代码更改
  • CI服务器生成更改
  • 如果构建通过,代码将提交到源代码管理存储库
  • 如果生成失败,则代码不会提交到源代码管理存储库
  • 大多数CI服务器的工作方式是轮询源代码管理存储库中的更改,然后提取代码。因此,在延迟提交场景中,开发人员是否将代码检入CI服务器而不是实际的源代码管理存储库,然后CI服务器将代码传递到存储库?或者,如果构建失败,CI服务器是否只是回滚更改

    我特别想到两个连续集成系统。Team Foundation Server将在下一版本中提供该功能,但这是有意义的,因为TFS中的团队构建(CI系统)与源代码管理库集成在一起。但是,对于TeamCity,TC能够连接到任何源代码管理系统,并且不一定与源代码管理存储库集成,甚至不必与源代码管理存储库集成在同一服务器上。这是怎么回事


    编辑:就这个问题展开悬赏,希望我能得到更多可能的答案。

    通常,您必须使用命令行工具或IDE插件将代码提交到CI服务器。该工具将您的更改与所有相关的项目/存储库/用户元数据捆绑在一起,开始构建,然后在一切顺利的情况下提交

    在TeamCity的情况下,看起来服务器实际上向您的计算机()提交了一条批准消息,然后它就从那里被提交了——大概这样您就不需要在TC服务器上拥有每个用户的SCM凭据了——如果您使用SSH私钥等,这可能会很复杂


    但是CI服务器几乎可以与任何SCM系统集成,无论服务器位于何处—您只需为其提供正确的凭据即可获得(通常为只读)访问权限。

    它的功能如下:


    (来源:)

    因此,执行提交的是客户机。不是服务器。在这种情况下,SCM并不重要