19

如何将工件路径传递给 TeamCity 中的脚本。场景是这样的

  1. 构建项目
  2. 部署项目(与 #1 的工件依赖项)

第 2 步由一个脚本组成,该脚本

  1. 停止服务(解锁文件)
  2. 将构建工件复制到服务器
  3. 重新启动服务

我在第 2 步中苦苦挣扎,我想我需要将构建工件的路径传递到脚本中,但我看不到你是怎么做的?

4

1 回答 1

17

我们做这样的事情。这不是 100% 清楚,但看起来您希望在 TeamCity 中将构建和部署作为两个单独的构建进行,并具有来自主构建上的部署构建的工件依赖关系,这正是我们所做的。这是我们如何做到的。

  • 从听起来好像您已经完成的主构建中设置您的工件。

    示例:**\bin\release\*.* => bin
  • 设置工件依赖项(我们也执行快照依赖项,但您不必这样做)以从主构建中提取您的工件并将它们放入部署构建中的本地文件夹中。

    示例:工件路径:bin\**\*.* 目标路径:bin\
  • 我们混合使用 MSBuild 和 PowerShell 来完成实际的部署工作。在每种情况下,您都可以使用相对路径引用工件。

    如果构建工作文件夹如下所示:

    根
     |- bin(从主构建中提取的工件)
     |- 源
     |- build(您的构建和部署脚本所在的位置)
    

    您可以从位于构建文件夹中的部署脚本访问 bin 文件,例如:

    ..\bin\[你的文件]

然后,您可以像这样将路径传递给您的构建工件

%teamcity.build.checkoutDir%\bin\
于 2012-04-27T17:15:13.697 回答