【问题标题】:What is a recommended Develop-test-deploy strategy for Azure?推荐的 Azure 开发-测试-部署策略是什么?
【发布时间】:2010-08-20 04:47:06
【问题描述】:

我们是 Azure 的新手,将在接下来的几天内部署我们的第一个应用程序。我只是想知道我们是否需要为测试和部署制定更清晰的流程,以及如何使其更具成本效益。

这是我正在考虑的过程-

1.在本地 Dev Fabric 上开发

  1. 维护一个通用的构建服务器,该服务器还托管源代码控制(我们对两者都使用 TFS)

  2. 使用构建服务器进行本地测试,从而将错误反馈给开发人员

  3. 拥有用于环境测试的单独 Azure 帐户 - 通过测试的构建将部署到此帐户并用于环境测试

  4. 一旦任何问题得到解决并且测试通过,将相同的构建部署到生产帐户(直接从构建服务器,我想不出从 azure 测试转移到 azure 生产的方法)

我必须注意的一些问题 -

  1. 必须将数据从生产服务器复制到测试服务器才能使测试生效

  2. 构建活动必须自动化以减少手动错误(尤其是更改与帐户相关的参数,如密钥)

你们这样好吗?或者这有什么漏洞吗?我想将测试帐户和产品帐户分开,以便我们的产品的安全凭证只能由关键操作人员保存。这是 Microsoft 博客中推荐的内容,但我想通过专家团队来推动它。提前致谢。

【问题讨论】:

    标签: asp.net deployment azure


    【解决方案1】:

    这取决于方法。如果您正在进行迭代,则将测试帐户和生产帐户分开,仅在通过测试后推广该版本。

    重要提示:您可能希望尽快开始针对 azure fabric 进行开发(或者至少要在云中使用 azure 存储帐户),因为此时 Dev 和真正的 Fabric 差别太大了.如果您完全依赖开发结构和存储,有一些怪癖会让您的生活变得更加艰难

    如果您正在进行快速开发(即:一旦稳定并通过单元测试就部署稳定的功能),那么没有明确需要单个测试帐户(尽管某些开发人员或原型可能需要单独的帐户)案例基础)。请注意,在这种情况下,您可能希望通过使用 powershell 脚本或仅将二进制文件上传到新 AppDomain 的某种部署管理器来以某种方式自动化部署过程(部署 15 分钟很长)。

    【讨论】:

    • +1 怪癖 - :) 在接受之前,我会等着看是否有其他答案。想看看人们是否正在使用其他方法。目前我们主要做迭代,所以你的第一个选项似乎反映了我想做的事情。
    【解决方案2】:

    您不需要单独的 Azure 帐户。相反,您将新建的 azure 项目部署到您的 azure 帐户的暂存部署中,对其进行测试,然后交换您的 azure 暂存和生产部署。

    您永远不想做的一件事是将项目直接部署到您的天蓝色生产部署中。我看到该过程需要 10 多分钟才能完成,在此期间您的应用程序将离线。暂存部署到生产部署交换的速度要快得多,并且应该只会让您的应用停机 10 到 20 秒。

    【讨论】:

    • 谢谢!但是数据错误呢?我主要担心的是,当我们使用 staging 时——如果我们创建任何数据,那么这些数据就会进入生产数据库——无论是 windows azure 还是 sql azure。使用 staging 来检查变量是否正确不是更好吗?
    • -1 因为弄错了。部署交换不会导致 Web 角色出现任何停机时间,因为负载均衡器只是开始将请求路由到新部署(长期运行的现有连接将被破坏)。不建议使用 staging 进行测试部署,因为您将共享相同的配置,url 会被弄乱(HTTPS 证书会变得很复杂)而且很容易意外点击“交换”按钮。分期正是针对部署前的分期。
    • 是的 Rinat,这正是我对使用 Staging 的担忧——我也不希望开发人员需要知道生产凭证,因为将由运维人员负责。更多的组织政策在部署到生产之前进行检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-11-05
    • 2010-10-14
    • 1970-01-01
    • 2019-01-15
    • 2014-12-06
    • 2011-02-28
    • 1970-01-01
    相关资源
    最近更新 更多