TeamCity构建和部署:如何将依赖工件路径传递给脚本?

Dav*_*yes 18 deployment build-automation teamcity teamcity-7.0

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

  1. 建设项目
  2. 部署项目(具有工件依赖性到#1)

第2步由一个脚本组成

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

我正在努力完成第2步,我想我需要将构建工件的路径传递到脚本中,但我看不出你是怎么做到的?

Bro*_*ski 16

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

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

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

    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)
    

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

    ..\bin\[your files]

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

%teamcity.build.checkoutDir%\bin\
Run Code Online (Sandbox Code Playgroud)