持续集成 - 部署



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

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

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

现在唯一剩下的就是进行自动化部署,以便我们的整个流程完成。

对于我们的自动化部署,我们需要遵循以下步骤:

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

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

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

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

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

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

**步骤1** - 配置本地IIS服务器。如果您有本地或远程IIS服务器,可以执行以下配置来部署我们的应用程序。在自动执行之前,手动尝试部署始终是一个好习惯。

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

Server Manager

**步骤3** - 在出现的下一个屏幕上单击“下一步”。

Add Roles and Features Wizard

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

Installation Type

**步骤5** - 选择默认服务器并单击“下一步”。

Default Server

**步骤6** - 选择Web服务器角色并单击“下一步”。

Web Server Role

**步骤7** - 在出现的下一个屏幕上,单击“下一步”。

Click Next

**步骤8** - 在出现的下一个屏幕上,再次单击“下一步”。

Web Server Role Click Next

**步骤9** - 在弹出的下一个屏幕上,单击“下一步”。

Role Services

**步骤10** - 在最后一个屏幕上,您可以单击“安装”按钮来安装IIS。

Install IIS

安装IIS后,您可以通过打开Internet Information Services来打开它。

Internet Information Services

**步骤11** - 单击“应用程序池”,您将看到一个名为**DefaultAppPool**的池。在下一步中,此池需要访问SQL Server。

**步骤12** - 如果我们需要将ASP.Net应用程序连接到MS SQL Server应用程序,则必须向默认应用程序池授予对SQL Server实例的访问权限,以便它可以连接到我们的**Demodb**数据库。

**步骤13** - 打开SQL Server Management Studio。转到“登录名”,右键单击并选择菜单选项“新建登录名”。

New Login

在下一个屏幕中,更新以下参数并单击“确定”。

  • 登录名:IIS APPPOOL\DefaultAppPool。
  • 默认数据库 - 这应该是我们的数据库,即demodb。
Parameters

**步骤14** - 创建**发布配置文件**。发布配置文件用于在Visual Studio中创建部署包,然后可以根据需要与MS Build和任何CI服务器一起使用。为此,从Visual Studio中,右键单击项目并单击“发布”菜单选项。

Publish Profile

**步骤15** - 在出现的下一个屏幕中,选择创建新的发布配置文件,将其命名为**DemoDeployment**。然后单击“下一步”按钮。

Demo Deployment

在随后出现的屏幕中,添加以下值:

  • 将发布方法选择为Web Deploy。
  • 将服务器输入为localhost。
  • 将站点名称输入为Default Web Site/Demo。
  • 将目标URL设置为**https:///Demo**

然后单击“下一步”按钮。

Publish Web Next Button

**步骤16** - 在下一个屏幕中,单击“下一步”。

Publish Web Configuration

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

Final Screen

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

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

  • Deploy on Build 为 true - 这将在成功构建后触发自动部署。

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

  • Visual Studio版本只是为了向MSBuild部署功能说明正在使用的Visual Studio的版本。

Visual Studio Version

运行上述命令时,MSBuild将触发构建和部署过程。您会注意到,它正在将其部署到我们IIS服务器中的**Default Website**。

Default Website

现在,如果我们浏览到站点 - **https:///Demo/Demo.aspx**,我们将看到以下输出,这意味着MSBuild已成功将我们的站点部署到了网站。

Localhost

**步骤19** - 通过TeamCity自动化 - 现在是时候向我们的TeamCity服务器添加一个任务,以根据上述步骤自动使用MSBuild来部署我们的应用程序。

**步骤20** - 转到您的项目仪表板并单击**编辑配置设置**。

Project Dashboard Configuration Settings

**步骤21** - 转到构建步骤并单击添加构建步骤。

Build Steps Add Build Steps

选择以下选项:

  • 运行程序类型应为MSBuild

  • 给出可选的步骤名称

  • 将构建路径输入为Simple/Simple.csproj

  • 将MSBuild版本保留为Microsoft Build Tools 2013

  • 将MSBuild Toolsversion保留为12.0

  • 将命令行设置为/p:DeployOnBuild = true /p:PublishProfile = DemoDeployement /p:VisualStudioVersion = 12.0

**步骤22** - 单击“保存”。

Build Configuration Settings Click Save

MS Build Version

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

Deploy Step

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

Final Git Command

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

广告
© . All rights reserved.