持续集成 – 部署
持续集成 – 部署
自动化构建和可重复构建。自动化测试和可重复测试。测试类别和测试频率。持续检查。持续的数据库集成。创建有效 CI 环境的这一系列任务主要实现了一个关键优势:在任何时间点、任何环境中发布可工作的软件。
在我们之前的章节中,我们已经完成了以下所有部分 –
- 创建了我们的代码。
- 确保在 TeamCity 中正确构建。
- 创建了一个数据库集成过程。
- 进行了成功的测试。
现在剩下的就是进行一次自动化部署,这样我们的整个流程就完成了。
对于我们案例中的自动化部署,我们需要遵循以下步骤 –
-
在我们的部署服务器中,确保安装了 IIS。
-
确保 IIS 用户有权访问我们的数据库。
-
创建一个发布配置文件,用于在构建站点时发布站点。
-
确保我们更改 MSBuild 命令以进行自动部署。
-
自动化 TeamCity 以进行自动发布。
-
执行git commit以确保所有文件都在 Git 中。
步骤 1 – 配置本地 IIS 服务器。如果您有本地或远程 IIS 服务器,则可以进行以下配置来部署我们的应用程序。在以自动化方式完成部署之前,先看看是否可以手动完成部署,这始终是一个好习惯。
步骤 2 – 在 Windows 2012 服务器上,转到服务器管理器并单击添加角色和功能。
步骤 3 – 在出现的以下屏幕上单击下一步。
步骤 4 – 在下一个屏幕上选择基于角色或基于功能的安装,然后单击下一步。
步骤 5 – 选择默认服务器并单击下一步。
步骤 6 – 选择 Web 服务器角色,然后单击下一步。
步骤 7 – 在出现的下一个屏幕中,单击下一步。
步骤 8 – 在出现的以下屏幕上再次单击下一步。
步骤 9 – 在弹出的下一个屏幕中,单击下一步。
步骤 10 – 在最后一个屏幕中,您可以单击安装按钮来安装 IIS。
安装 IIS 后,您可以通过打开 Internet 信息服务来打开它。
步骤 11 – 单击应用程序池,您将看到一个名为DefaultAppPool的池。这需要在下一步中访问 SQL Server。
第 12 步– 如果我们需要将 ASP.Net 应用程序连接到 MS SQL Server 应用程序,我们必须将默认应用程序池的访问权限授予 SQL Server 实例,以便它可以连接到我们的Demodb数据库。
步骤 13 – 打开 SQL Server Management Studio。转到登录,右键单击并选择菜单选项New Login。
在下一个屏幕中,更新以下参数并单击确定。
- 登录名作为 IIS APPPOOL\DefaultAppPool。
- 默认数据库 – 这应该是我们的数据库,即 demodb。
步骤 14 – 创建发布配置文件。发布配置文件在 Visual Studio 中用于创建一个部署包,然后可以与 MS Build 和任何 CI 服务器相应地使用该包。为此,在 Visual Studio 中,右键单击该项目,然后单击“发布”菜单选项
步骤 15 – 在出现的下一个屏幕中,选择创建一个新的发布配置文件,并为其命名 – DemoDeployment。然后单击下一步按钮。
在随后出现的屏幕中,添加以下值 –
- 选择发布方法作为 Web 部署。
- 输入服务器作为本地主机。
- 输入站点名称作为默认网站/演示。
- 将目标 url 设为http://localhost/Demo
然后单击下一步按钮。
步骤 16 – 在下一个屏幕中,单击下一步。
步骤 17 – 在出现的最后一个屏幕中,单击“发布”按钮。
现在,如果您转到项目的C:\Demo\Simple\Properties\PublishProfiles位置,您将看到创建的新发布配置文件 xml 文件。此发布配置文件将包含将应用程序发布到本地 IIS 服务器所需的所有详细信息。
第 18 步– 现在让我们自定义我们的 MSBuild 命令并使用上面的发布配置文件,看看会发生什么。在我们的 MSBuild 命令中,我们指定以下参数 –
-
Deploy on Build 为 true – 一旦构建成功,这将触发自动部署。
-
然后我们提到使用在上述步骤中使用的发布配置文件。
-
Visual Studio 版本只是在 MSBuild 部署功能中提及正在使用的 Visual Studio 版本。
当您运行上述命令时,MSBuild 将触发构建和部署过程。您会注意到,它正在将其部署到我们 IIS 服务器中的默认网站。
现在,如果我们浏览到该站点 – http://localhost/Demo/Demo.aspx,我们将看到以下输出,这意味着 MSBuild 已成功部署到我们的网站。
第 19 步– 通过 TeamCity 实现自动化——现在是时候向我们的 TeamCity 服务器添加一个任务,以根据上述步骤自动使用 MSBuild 部署我们的应用程序。
步骤 20 – 转到您的项目仪表板,然后单击编辑配置设置。
步骤 21 – 转到构建步骤并单击添加构建步骤。
选择以下选项 –
-
跑步者类型应该是 MSBuild
-
给一个可选的步骤名称
-
将构建路径输入为 Simple/Simple.csproj
-
将 MSBuild 版本保留为 Microsoft Build Tools 2013
-
保持 MSBuild 工具版本为 12.0
-
将命令行设置为 /p:DeployOnBuild = true /p:PublishProfile = DemoDeployement /p:VisualStudioVersion = 12.0
步骤 22 – 单击保存。
确保在构建步骤中,部署步骤是链中的最后一步。
步骤 23 – 现在让我们做一个最终的git commit,以确保所有文件都在 Git 中并且可以被 TeamCity 使用。
恭喜,您已经成功为您的应用程序设置了一个完整的持续集成周期,该周期可以在任何时间点运行。