TeamCity Build&部署:如何将依赖工件路径传递给脚本?

时间:2012-04-27 16:13:27

标签: deployment build-automation teamcity teamcity-7.0

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

  1. 构建项目
  2. 部署项目(具有工件依赖关系到#1)
  3. 第2步包含一个

    的脚本
    1. 停止服务(解锁文件)
    2. 将构建工件复制到服务器
    3. 重新启动服务
    4. 我正在努力完成第2步,我想我需要将构建工件的路径传递到脚本中,但我看不出你是怎么做的?

1 个答案:

答案 0 :(得分:16)

我们做这样的事情。它并非100%清晰,但看起来您希望将构建和部署作为TeamCity中的两个独立构建,并在主构建的部署构建中使用工件依赖,这正是我们所做的。我们就是这样做的。

  • 从主要构建中设置您的工件,听起来就像您已经完成的那样。

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

    Example: Artifacts paths: bin\**\*.* Destination path: bin\
  • 我们使用MSBuild和PowerShell的混合来进行实际的部署工作。在每种情况下,您都可以使用相对路径引用工件。

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

    root
     |- bin (Artifacts pulled in from main build)
     |- src
     |- build (Where your build and deployment scripts live)
    

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

    ..\bin\[your files]

然后,您可以将路径传递给您的构建工件,如此

%teamcity.build.checkoutDir%\bin\