【问题标题】:Deploying builds from TeamCity从 TeamCity 部署构建
【发布时间】:2013-12-30 16:16:12
【问题描述】:

我们使用 Team City 作为我们的 CI 构建服务器,并已对其进行配置以成功构建和测试。

现在我的任务是在 Azure 中将编译好的项目部署到我们的生产 VM 上。这些项目包括前端代码(HTML 和 Javascript)、我们的 node.js 代码和我们依赖的 .NET dll 的。这基本上是我们端到端的网络应用,我们可以在本地启动和运行。

看过 octopus deploy,但这是个问题,因为我不熟悉这个工具,而且它不仅仅是我们需要部署的 nuspec 包,它是一个完整的文件夹结构。

1.) 我将如何在 TeamCity 中创建此文件夹结构的 zip 文件? 2.) Ounce 我创建了这个 zip 文件,我将如何将它部署到 VM 上并解压缩它

我是 CI 的新手,所以我需要尽可能多的建议!

【问题讨论】:

  • 谢谢,它成功了。顺便说一句,你的个人资料照片很奇怪

标签: azure teamcity continuous-deployment octopus-deploy


【解决方案1】:

我只能回答第一个问题,因为我们在 linux 实例上使用亚马逊。

在我们的 CI 环境 (teamcity) 中,我们在构建配置 -> 常规设置选项卡 -> 编辑工件中指定工件:

path/to/build => latest.zip. 

Teamcity 发现它会根据工件扩展名压缩文件夹。然后我们将 zip 文件上传到 S3。

第二个问题我无法回答,因为我们使用的是 linux。但我们只是创建了一个虚拟映像,它在启动时从 S3 获取 latest.zip 文件,解压缩并重新启动网络服务器。

编辑:如果您决定以其他方式部署,请确保创建对 latest.zip 文件的工件依赖项。您还可以使用自定义构建参数创建构建以部署构建。

【讨论】:

    【解决方案2】:

    对于问题 #2,您可以采取多种方法。我不是该领域的专家,但我见过的最好的 Windows 堆栈是 BuildMaster

    我推荐它的原因是:

    1. 清理工件的提升和部署;哪些构建被拒绝,哪些被提升,这一点非常清楚。

    2. 它将重用您来自 TeamCity 的工件;所以你让 TeamCity 做建筑,让BuildMaster 处理促销活动。

    3. 它将处理将工件部署到您的服务器,并可以运行部署前和部署后步骤,例如重新启动服务、执行脚本来处理压缩压缩文件等。

      李>

    This screenshot 显示了一个部署计划示例,包括部署前和部署后步骤

    【讨论】:

      【解决方案3】:

      您只需要发布配置文件(后台 MSBuild)和 Web 部署。

      两种 MS 技术。发布配置文件作为 VS 和 MS deploy 的一部分提供,可以通过目标服务器上的管理服务轻松部署。

      我建议遵循 Troy Hunt 的这个伟大的博客系列中的方法 - Your Deploying It Wrong

      我已经在我当前的项目中设置了这种方法,它实现了梦想。 Web 部署通常是选择的交付机制,所以我相信您设置它不会有困难。

      我的 MSBuild 部署步骤具有以下命令行参数(为了可重用性而引入了一些构建参数)。部署需要 20 秒!

      /P:Configuration=%env.Configuration% 
      /P:DeployOnBuild=True 
      /P:DeployTarget=MSDeployPublish 
      /P:MsDeployServiceUrl=https://%env.TargetServer%/MsDeploy.axd 
      /P:AllowUntrustedCertificate=True 
      /P:MSDeployPublishMethod=WMSvc 
      /P:CreatePackageOnPublish=True 
      /P:UserName=INTERNAL\webdeployments 
      /P:Password=*********
      /p:SkipExtraFilesOnServer=true
      

      希望对你有帮助

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-26
        • 2018-01-22
        相关资源
        最近更新 更多