持续集成 – 部署

持续集成 – 部署


自动化构建和可重复构建。自动化测试和可重复测试。测试类别和测试频率。持续检查。持续的数据库集成。创建有效 CI 环境的这一系列任务主要实现了一个关键优势:在任何时间点、任何环境中发布可工作的软件。

在我们之前的章节中,我们已经完成了以下所有部分 –

  • 创建了我们的代码。
  • 确保在 TeamCity 中正确构建。
  • 创建了一个数据库集成过程。
  • 进行了成功的测试。

现在剩下的就是进行一次自动化部署,这样我们的整个流程就完成了。

对于我们案例中的自动化部署,我们需要遵循以下步骤 –

  • 在我们的部署服务器中,确保安装了 IIS。

  • 确保 IIS 用户有权访问我们的数据库。

  • 创建一个发布配置文件,用于在构建站点时发布站点。

  • 确保我们更改 MSBuild 命令以进行自动部署。

  • 自动化 TeamCity 以进行自动发布。

  • 执行git commit以确保所有文件都在 Git 中。

步骤 1 – 配置本地 IIS 服务器。如果您有本地或远程 IIS 服务器,则可以进行以下配置来部署我们的应用程序。在以自动化方式完成部署之前,先看看是否可以手动完成部署,这始终是一个好习惯。

步骤 2 – 在 Windows 2012 服务器上,转到服务器管理器并单击添加角色和功能。

服务器管理器

步骤 3 – 在出现的以下屏幕上单击下一步。

添加角色和功能向导

步骤 4 – 在下一个屏幕上选择基于角色或基于功能的安装,然后单击下一步。

安装类型

步骤 5 – 选择默认服务器并单击下一步。

默认服务器

步骤 6 – 选择 Web 服务器角色,然后单击下一步。

网络服务器角色

步骤 7 – 在出现的下一个屏幕中,单击下一步。

点击下一步

步骤 8 – 在出现的以下屏幕上再次单击下一步。

Web 服务器角色 单击下一步

步骤 9 – 在弹出的下一个屏幕中,单击下一步。

角色服务

步骤 10 – 在最后一个屏幕中,您可以单击安装按钮来安装 IIS。

安装 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

然后单击下一步按钮。

发布 Web Next 按钮

步骤 16 – 在下一个屏幕中,单击下一步。

发布 Web 配置

步骤 17 – 在出现的最后一个屏幕中,单击“发布”按钮。

最终画面

现在,如果您转到项目的C:\Demo\Simple\Properties\PublishProfiles位置,您将看到创建的新发布配置文件 xml 文件此发布配置文件将包含将应用程序发布到本地 IIS 服务器所需的所有详细信息。

第 18 步– 现在让我们自定义我们的 MSBuild 命令并使用上面的发布配置文件,看看会发生什么。在我们的 MSBuild 命令中,我们指定以下参数 –

  • Deploy on Build 为 true – 一旦构建成功,这将触发自动部署。

  • 然后我们提到使用在上述步骤中使用的发布配置文件。

  • Visual Studio 版本只是在 MSBuild 部署功能中提及正在使用的 Visual Studio 版本。

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 – 单击保存。

构建配置设置点击保存

MS 构建版本

确保在构建步骤中,部署步骤是链中的最后一步。

部署步骤

步骤 23 – 现在让我们做一个最终的git commit,以确保所有文件都在 Git 中并且可以被 TeamCity 使用。

最终的 Git 命令

恭喜,您已经成功为您的应用程序设置了一个完整的持续集成周期,该周期可以在任何时间点运行。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁