【问题标题】:svn commit using TeamCity使用 TeamCity 提交 svn
【发布时间】:2012-09-19 01:55:12
【问题描述】:

我正在使用 Visual Studio 和 TeamCity 工具。我在 TeamCity 中添加了项目。 当 TeamCity 项目构建成功时,TeamCity 会自动将 bin/Release 文件夹中的新二进制文件提交到指定的 SVN 路径(例如 svn:\abc.com\root\trunk )。 有谁知道我该如何实现这?请让我知道步骤。提前致谢。

【问题讨论】:

  • 你真的想在 SVN 中存储这种二进制文件吗?我不认为这是一个好主意。无论如何,我相信在 Teamcity 中,您可以运行 shell 脚本,并且您可以在构建完成后做任何您想做的事情(svn import 等)
  • 您能分享一下@manoj jaiswal 的工作解决方案吗??

标签: svn teamcity commit


【解决方案1】:

我们的构建过程包括构建和单元测试步骤完成后的“标记”MsBuild 步骤。此步骤清除构建中的任何额外文件(例如,如果您正在构建要在其他地方引用的项目,则不必要的外部依赖项)并提交二进制文件。这只是一个 MsBuild 步骤,它运行一个标记已构建项目的 MsBuild 脚本。

您可以使用脚本中 MsBuild 调用的 TargetOutputs 元素获取项目构建的 DLL 列表,例如:

<MSBuild Projects="yourSolutions" Targets="Rebuild" Properties="Configuration=Release;Platform=x86">
    <Output ItemName="BinaryOutputs" TaskParameter="TargetOutputs"/>
</MSBuild>

然后你可以使用标准的 svn 命令来提交你的文件。

【讨论】:

    【解决方案2】:

    Command Line 构建步骤添加到您的TC 配置中,就在主要构建步骤之后,包含命令commit_build.bat。创建一个commit_build.bat 文件,该文件将使用标准 svn 命令将您的工件提交到 SVN。

    不要忘记将 commit_build.bat 提交到 repo 中。

    【讨论】:

    • 谢谢...我是 TeamCity 的初学者。能否请您详细说明一下这个步骤?
    • 感谢您的解决方案。我创建了一个批处理文件并通过 TeamCity 运行它。它是成功的。我很困惑在哪里以及为什么必须提交批处理文件。
    • 您必须将它提交到存储库的任何位置(即在您的存储库根文件夹中),以便每个构建代理都可以找到并运行它。
    猜你喜欢
    • 2014-09-20
    • 1970-01-01
    • 1970-01-01
    • 2017-08-01
    • 2010-11-09
    • 2012-06-17
    • 1970-01-01
    • 2019-09-12
    • 2011-03-04
    相关资源
    最近更新 更多