TFS 持续交付:搭建环境





5.00/5 (1投票)
TFS 持续交付:搭建环境
在我们用 TFS 构建持续交付管道的 系列文章 中,到目前为止,我们已经安装和配置了许多 TFS 基础设施,但是我们还没有可以部署 示例应用程序 的环境。在这篇文章中,我们将解决这个问题,但首先,让我们简要谈谈更广阔的环境图景。
思考更广阔的环境图景
当我们思考可能导致应用程序部署失败的因素时,我们首先想到的可能是应用程序代码本身,然后是代码运行所需的任何配置设置。但这只是硬币的一面,当我们遇到问题时,部署到的环境的配置同样可能是罪魁祸首。因此,我们需要工具来管理应用程序及其配置,以及我们部署到的环境。TFS 生态系统解决了前者,但并未解决后者。那么什么可以呢?有两个主要方面需要考虑:配置应用程序运行所需的环境服务器,以及这些服务器上的实际配置。
配置服务器很大程度上取决于具体情况:您的操作取决于服务器的运行位置以及每次使用时是否需要重新创建它们。在本地,服务器可以长期存在并且始终在线。在云中,您可能希望能够为特定任务创建一个测试环境,然后将其删除以节省成本。在 Windows 世界中,几乎可以在任何地方使用 PowerShell 等脚本工具动态创建环境。在 Azure 中,还有其他选项,因为现在有 Brewmaster 或 Resource Manager 等工具,可以使用描述所需内容的模板来创建服务器。
一旦服务器创建完成,就可以并且应该在服务器运行的任何地方使用工具管理服务器的内部配置。这样做的目的是,服务器的更改只能通过工具进行,因此如果需要重新创建服务器(或需要更多相同的服务器),这几乎是一个一键式操作。(这可能与大多数组织目前的状况形成对比,即服务器根据需要手动调整,直到它们变成没有人知道如何忠实地重新创建的艺术品。如果您需要了解现有服务器的配置,那么像 GuardRail 这样的产品可能有所帮助。)管理服务器配置的工具包括 Puppet、Chef 和微软在此领域的新产品 PowerShell Desired State Configuration (DSC)。
上面提到的技术和工具绝对是可行的方向,但在本文中,我将忽略所有这些,因为目标是让最简单的事情能够正常工作(尽管研究和撰写有关自动化基础设施和服务器配置的内容在我待办事项列表中)。此外,由于我们正在设置演示环境,我们将使用多租户模式,即多个环境托管在同一台服务器上,以尽量减少所需的虚拟机数量。
配置 Web 和数据库服务器
我们的示例应用程序由一个与 SQL Server 数据库通信的前端 Web 组成,因此我们需要两台服务器——ALMWEB01 运行 IIS,ALMSQL01 运行 SQL Server 2014 或任何您喜欢的版本。我为 Web 服务器使用基本的 A2 VM,为 SQL Server 使用基本的 A3 VM,两者都基于 Windows Server 2012 R2 Datacenter 映像创建,并按照我关于 Azure 基础 的文章进行配置。一旦搭建好,就需要将 VM 加入域并配置其服务器角色,我在此不详述,因为我假设您已经知道或可以学会。需要注意的一点是,您需要抵制从库中预配置的 SQL Server 映像创建 SQL Server VM 的诱惑。这将消耗您的 Azure 积分,因为您需要为这些映像中的 SQL Server 许可证时间付费。相反,从 MSDN 下载 SQL Server 并在标准的 Windows Server VM 上自行安装。
安装 Release Management Deployment Agent
为了使这些 VM 能够参与交付管道,我们需要进行的最后一步配置是安装 **Release Management Deployment Agent**。该代理需要使用服务帐户运行,因此请创建一个域帐户(我使用 ALM\RMDEPLOYER)并将其添加到两台服务器的管理员组中。接下来,打开 Release Management 客户端并添加此帐户(**Administration** > **Manage Users**),授予它 **Service User** 角色。回到您的部署服务器,您现在可以运行 Deployment Agent 安装并提供适当的配置详细信息。
单击 **Apply** 设置后,安装程序将完成其配置项列表,如果没有错误,代理将启动并运行,并准备好与 Release Management 服务器通信。要检查这一点,请打开 Release Management 客户端并导航到 **Configure Paths** > **Servers**。单击 **New** 按钮旁边的向下箭头,然后选择 Scan for Agents。这将弹出 **Unregistered Servers** 对话框,允许扫描和注册服务器。如果一切正常,您将能够注册您的两台服务器,它们应该会出现在 Servers 选项卡中,如下所示:
我们还没有完全准备好使用 Release Management 构建管道,在下一篇文章中,我们将执行使我们达到该阶段的配置步骤。
谢谢 – Graham
文章 Continuous Delivery with TFS: Standing up an Environment 首发于 Please Release Me。