2012-04-27 30 views
16

如何将工件路径传递给TeamCity中的脚本。 的场景是该TeamCity构建和部署:如何将相关工件路径传递给脚本?

  1. 生成项目
  2. 部署项目(与工件的依赖于#1)

步骤2由AA脚本的哪个

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

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

+0

您使用的是什么版本的TeamCity? – Bronumski 2012-04-27 17:15:43

+0

TeamCity的7.0.2是我安装 – 2012-04-27 17:30:55

回答

15

我们做这样的事情。这不是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\ 
+1

感谢的版本,我想我还没有完全了解位是神器依赖是怎么做到的构建工件到其工作目录%teamcity.build.checkoutDir%\ BIN \是我需要的路径。 TeamCity很棒,但其中一些文档有点难以理解 – 2012-04-27 17:28:01

+1

你不需要%teamcity.build.checkoutDir%变量bin \会很好,但如果它使得维护更清晰,那么一切都会更好。 – Bronumski 2012-04-27 17:34:50

+0

如果你正在使用PowerShell添加“-ExecutionPolicy旁路”的命令行,设置计算机上的策略似乎并没有工作(奇怪) – 2012-04-27 19:43:34

相关问题