持续集成 - 部署
自动化构建和可重复构建。自动化测试和可重复测试。测试类别和测试频率。持续检查。持续数据库集成。创建有效的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 Information Services来打开它。
**步骤11** - 单击“应用程序池”,您将看到一个名为**DefaultAppPool**的池。在下一步中,此池需要访问SQL Server。
**步骤12** - 如果我们需要将ASP.Net应用程序连接到MS SQL Server应用程序,则必须向默认应用程序池授予对SQL Server实例的访问权限,以便它可以连接到我们的**Demodb**数据库。
**步骤13** - 打开SQL Server Management Studio。转到“登录名”,右键单击并选择菜单选项“新建登录名”。
在下一个屏幕中,更新以下参数并单击“确定”。
- 登录名:IIS APPPOOL\DefaultAppPool。
- 默认数据库 - 这应该是我们的数据库,即demodb。
**步骤14** - 创建**发布配置文件**。发布配置文件用于在Visual Studio中创建部署包,然后可以根据需要与MS Build和任何CI服务器一起使用。为此,从Visual Studio中,右键单击项目并单击“发布”菜单选项。
**步骤15** - 在出现的下一个屏幕中,选择创建新的发布配置文件,将其命名为**DemoDeployment**。然后单击“下一步”按钮。
在随后出现的屏幕中,添加以下值:
- 将发布方法选择为Web Deploy。
- 将服务器输入为localhost。
- 将站点名称输入为Default Web Site/Demo。
- 将目标URL设置为**https:///Demo**
然后单击“下一步”按钮。
**步骤16** - 在下一个屏幕中,单击“下一步”。
**步骤17** - 在出现的最后一个屏幕中,单击“发布”按钮。
现在,如果您转到项目的**C:\Demo\Simple\Properties\PublishProfiles**位置,您将看到一个新创建的**发布配置文件xml文件**。此发布配置文件将包含将应用程序发布到本地IIS服务器所需的所有详细信息。
**步骤18** - 现在让我们自定义我们的MSBuild命令并使用上述发布配置文件,看看会发生什么。在我们的MSBuild命令中,我们指定以下参数:
Deploy on Build 为 true - 这将在成功构建后触发自动部署。
然后我们提到使用上面步骤中使用的发布配置文件。
Visual Studio版本只是为了向MSBuild部署功能说明正在使用的Visual Studio的版本。
运行上述命令时,MSBuild将触发构建和部署过程。您会注意到,它正在将其部署到我们IIS服务器中的**Default Website**。
现在,如果我们浏览到站点 - **https:///Demo/Demo.aspx**,我们将看到以下输出,这意味着MSBuild已成功将我们的站点部署到了网站。
**步骤19** - 通过TeamCity自动化 - 现在是时候向我们的TeamCity服务器添加一个任务,以根据上述步骤自动使用MSBuild来部署我们的应用程序。
**步骤20** - 转到您的项目仪表板并单击**编辑配置设置**。
**步骤21** - 转到构建步骤并单击添加构建步骤。
选择以下选项:
运行程序类型应为MSBuild
给出可选的步骤名称
将构建路径输入为Simple/Simple.csproj
将MSBuild版本保留为Microsoft Build Tools 2013
将MSBuild Toolsversion保留为12.0
将命令行设置为/p:DeployOnBuild = true /p:PublishProfile = DemoDeployement /p:VisualStudioVersion = 12.0
**步骤22** - 单击“保存”。
确保在构建步骤中,部署步骤是链中的最后一步。
**步骤23** - 现在让我们做一个最终的**git commit**,以确保所有文件都在Git中,并且TeamCity可以使用。
恭喜,您已成功为您的应用程序设置了完整的持续集成周期,可以在任何时间点运行。