代码之家  ›  专栏  ›  技术社区  ›  xspydr

如何将生成复制到测试服务器?

  •  4
  • xspydr  · 技术社区  · 16 年前

    希望有人能帮我。有团队城市建立和运行,并做各种项目的建设。我希望能够将一个成功的TeamCity运行的构建自动复制/部署到测试服务器。

    谢谢。

    4 回复  |  直到 16 年前
        1
  •  4
  •   Yishai    16 年前

    我用WGet。这是 instructions WGet in powershell ,但如果您只需要powershell来实现此功能,则可以使用普通的 wget utility for windows .

    编辑:以下是我们QA部署的一个示例(更改名称以保护罪犯):

    "C:\Program Files (x86)\NcFTP\wget.exe" "http://teamcityserver.domain.com:8111/guestAuth/repository/download/bt6/.lastFinished/Artificat.ear"
    

    wget的位置与此无关,它恰好位于该位置。参数的guestAuth部分指定了身份验证类型(在我们的示例中,我们启用了guest授权,使其不必使用密码—无论如何,它只是一个内部服务器,受防火墙保护)。选项在我链接的文档中。

    参数的另一个有趣特性是bt6。这是构建的唯一键,对于每个项目都是不同的。您可以通过将TeamCity网站导航到该构建的配置来发现它是什么—它将在那里。也有按名称引用配置的说明,但是我们发现这太冗长了。

        2
  •  1
  •   Jack Ryan    16 年前

    这是一个你可能会发现有用的构建脚本。它预编译应用程序,然后将其复制到deploy目录中。

    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Deploy">
    
        <PropertyGroup>
            <WebsitePublishDirectory>Artifacts\Website</WebsitePublishDirectory>
            <WebsiteDeployDirectory>\\SERVERNAME\Path\to\web\root</WebsiteDeployDirectory>
            <WebsiteProject>[Project name here]</WebsiteProject>
        </PropertyGroup>
    
        <Target Name="Deploy">
            <RemoveDir Directories="$(WebsitePublishDirectory)" />
    
            <AspNetCompiler
                VirtualPath="test"
                PhysicalPath="$(WebsiteProject)"
                TargetPath="$(WebsitePublishDirectory)"
                Force="true"
                Debug="false" />
    
            <ItemGroup>
                <PublishedFiles Include="$(WebsitePublishDirectory)\**" />
            </ItemGroup>
    
            <Copy SourceFiles="@(PublishedFiles)" DestinationFolder="$(WebsiteDeployDirectory)\%(RecursiveDir)" />
        </Target>    
    </Project>
    
        3
  •  1
  •   Philippe Leybaert    16 年前

    您也可以在测试服务器上安装TeamCity代理。这就是TeamCity的用意所在。

        4
  •  0
  •   Zooking    16 年前

    c: \TeamCityBuild\pt_构建.bat
    退出0

    在TC服务器上,我有一个.bat,看起来像这样:


    xcopy“C:\TeamCityBuild\path\WebSite*”“r:\”/r/Y/E
    r: \192.168.16.85\网站/删除
    如果errorlevel 1转到buildFAILED
    :buildOK建立
    回音Wehej!!!
    退出0
    :生成失败


    “R:”是指向测试服务器的映射驱动器。

    只有当有人在没有正确文件夹结构的环境中构建项目时,才需要进行错误处理以避免脚本错误。

    到目前为止,一切都很好!