共计 4367 个字符,预计需要花费 11 分钟才能阅读完成。
概述
Azure DevOps Server 2019(之前的名称为 TFS),作为微软 Azure DevOps 的企业私有(on-premises)服务器,是一个为开发团队提供软件协作开发管理的服务平台,在需求管理、代码管理、持续集成和交付、敏捷开发方面为软件开发团队提供全流程的技术服务。
这一运行在企业内网中的开发服务器,由于具备入门门槛低、成本费用低、功能齐全等特点,深受国内软件开发团队、管理团队的喜爱。特别是对数据安全有较高要求的金融行业的用户,DevOps Server 成了企业开发中心的研发服务管理平台,承担者企业软件研发、质量管理和实施运维的管理工具的角色。
由于运行在企业内网,在数据安全、扩展开发和度量分析方面,对比公有云上的 Azure DevOps Service,Azure DevOps Server 具备天生的优势;但是,在安装部署和运行维护方面,企业又需要投入额外的精力。下面我们就 DevOps Server 2019 的部署方式和过程,做一个基本介绍,为初次接触 Azure DevOps Server 的用户提供参考。
安装类型
我们有多种部署 DevOps Server 的方式。可以将所有服务部署在同一台机器上,也可以将不同的服务分布部署在不同的服务器上。选择哪一种部署方式,取决与你的开发团队和用户的规模。例如,一个不到 100 人的开发团队,我们推荐将所有服务安装在同一台服务器上即可;一个超过 3000 人的开发团队,我们推荐将应用服务器、数据库服务器、搜索服务器分布部署在不同的服务器上,同时还需要增加应用服务器节点,以解决多用户并发访问时可能造成的性能问题。
下面是三种比较典型的安装配置方式:
- 单一服务器部署
将所有的服务都部署在同一台服务器上,这是最简单的部署方式,在运行维护上也有很多的便利。不足的是,容易出现性能故障;出现故障时,不容易排查问题的原因。
- 双服务器部署
将应用服务器和数据库服务器分布部署在不同的服务器上,只是目前最为典型的部署方式,也是大部分用户采用的方式。这种部署方式兼顾了系统性能、运行维护和扩展方面的考虑。
- 多服务器部署
将不同的服务分别部署在不同的服务器上,例如至少包含一台应用服务器、一台数据库服务器、一台生产代理服务器、一台搜索引擎服务器、一台报表服务器;还会根据用户数据量和访问频率的因素,扩展每种服务器的数据量,应用负载均衡和高可用技术,以便适应多用户高频访问的特点,同时解决服务器性能瓶颈和数据安全问题。我们在多个超过千人的开发团队中,都使用了这种多服务器部署的模式。
- 学习评估安装
如果基于个人使用或者学习用途,你可以选择 TFS 的免费版本(Express:https://www.visualstudio.com/downloads/)。这个版本可以为最多提供 5 个用户提供免费的服务。
软件要求
操作系统
Azure DevOps Server 2019 仅支持服务器 64 位的操作系统,你可以安装在服务器操作系统或者客户端操作系统中。除非是评估使用,我们推荐安装在服务器操作系统中。目前支持的操作系统包括:
– Windows Server 2019
– Windows Server 2016
– Windows Server 2012 R2 (Essentials, Standard, Datacenter)
– Windows Server 2012 (Essentials, Standard, Datacenter)
– Windows 10 (Professional, Enterprise) Version 1607 或更高版本
虚拟化
微软支持在虚拟化平台上安装 Azure DevOps Server 2019。你可以将 Server 2019 的任意模块安装在虚拟机上。目前我们的许多客户都使用虚机机的方式安装 TFS 服务器集群。对比物理机部署,虚拟化部署具备安装快捷,部署简单、迁移方便的特点。
数据库 SQL Server
Azure DevOps Server 2019 是运行在微软 SQL Server 数据库服务器平台上的应用服务器。和微软近年来的所有服务器产品一样,Azure DevOps Server 向前支持两个版本的 SQL Server,包括:
– SQL Server 2017
– SQL Server 2016 (minimum SP1)
如果你正在考虑升级你目前的 TFS 系统到最新版本的 Azure DevOps Server 2019,那必须特别注意这一个要求。
另外,目前不支持 Linux 上的 SQL Server 服务器版本。
硬件要求
Azure DevOps Server 对硬件的要求,基本上完全取决与用户规模的访问频率。我们可以将 Azure DevOps Server 安装在内存 4GB 的笔记本电脑上,供个人学习或开发使用;也可以将它安装在一个超过 30 台服务器的集群个中,为几千人的技术团队提供研发、测试和运行一体化的全流程服务,其中还包含负载均衡、数据库 AlwaysOn 的高可用性机制。我们通过评估不同的研发团队的规模和应用,配置不同的硬件。下面几种配置比较典型,你可以以此为标准,结合自己的团队,配置一个合理的硬件环境:
单一服务器:
微软官方推荐,单核 CPU, 4GB 内存,500GB 高速磁盘,可以为最高 250 人的团队提供源代码、工作项跟踪功能。这种配置环境中,不建议使用自动化构建、测试和发布和报表等功能。
上面是微软官方的推荐配置,其中当然会有商业推广的考虑,会适当降低服务器对硬件配置的要求,就像汽车厂商提供的百公里油耗一样。在实际使用过程中,我们会推荐客户,参考微软的官方标准,翻倍配置硬件设备。
多服务器:
参考我的实践经验,我们推荐:
【200 人左右的参考团队】
– 数据库服务器:16GB 内存,8 核心 CPU,500GB 磁盘
– 应用服务器:8GB 内存,8 核心 CPU, 200GB 磁盘
【500 人左右的开发团队】
– 数据库服务器:32GB 内存,16 核心 CPU,1000GB 磁盘,额外 2000GB 备份磁盘
– 应用服务器:16GB 内存,8 核心 CPU, 200GB 磁盘
【1000 人以上的开发团队】
– 数据库服务器:64GB 内存,32 核心 CPU,2000GB 磁盘,额外 4000GB 备份磁盘;应用 AlwaysOn 高可用性技术,实现数据库系统的持续服务。
– 应用服务器:21GB 内存,16 核心 CPU, 200GB 磁盘;至少 2 个节点的应用服务器,应用负载均衡技术分散系统性能压力
安装过程
做好了前期准备和相关的部署方案以后,你就可以动手实施了。无论你是部署最新版本的 Azure DevOps Server,还是老版本的 TFS 系统,整个部署过程基本包括两个部分:系统安装、系统配置。
第一步,系统安装:
包含了数据安装和应用程序安装。数据库的安装,可以参考 SQL Server 的标准安装过程,本文不做详细介绍。应用程序的安装,对于 Azure DevOps Server 来说,非常简单,基本上是傻瓜式的,只需要简单点击几个”下一步“就可以了,参考下面的截图:
安装完成以后,系统会可能会提示你重启操作系统,进入到后面的配置环节。也可能由于你的系统之前已经安装的相关的模块,例如 Framework 4.7 以上版本,不需要重启操作系统。
第二步,系统配置:
当完成上一步的系统重启以后,Azure DevOps Server 自动弹出配置窗口,你可以开始配置 TFS 服务器的所有信息了。
在配置过程中,你可以根据系统提示,一步一步的完成所需的全部配置信息;你也可以在配置过程中选择忽略一些功能模块,例如报表功能、搜索引擎功能等。
在配置过程中,系统还会自动检查你的环境是否符合要求,如果系统发现环境问题,会自动停止安装过程,要求你解决问题后,再次启动环境检查过程。下面是具体配置的过程和相关说明:
1. 自动弹出配置信息,点击”启动向导“
2. 欢迎页面,不需要解释和截图
3. 全新部署,需要选择”这是新的 Azure DevOps Server 部署“
4. 部署方案
一般情况下,我们都会选择高级部署。在高级部署中,你可以对每一个部署过程做配置调整。
5. 选择语言
系统会自动选择操作系统的语言版本。Azure DevOps Server 支持几十种语言文字,用户无需安装语言包,也无需使用特定语言的安装程序。
6. 数据库设置
你可以在这个页面中选择数据库服务器的名称和实例米名称;如果希望多个版本的 TFS 部署在同一台数据库服务器上,你可以选择标签区分不同版本的数据库。例如笔者的数据库服务器上之前已经部署了 TFS 2018 版本,在数据库标签上我添加了”2019“的标签,就不会干扰或者覆盖现有 TFS 数据库。
7. 配置访问数据库的账户
8. 配置 Web 应用的端口的应用名称
默认配置中,TFS 使用 IIS 中的 8080 端口,使用 tfs 作为应用程序名称。你可以根据服务器的应用范围,自己选择端口和应用程序名称。如果你不太明白每一项设置的含义,可以保持默认配置。
9. 配置全文索引服务
Azure DevOps Server 2019 的全文索引使用了 Elastics Search(ES)搜索引擎服务。在安装应用程序的过程中,系统会自动配置 ES 服务器和对应的功能。
10. 配置报表
Azure DevOps Server 的报表处理功能是一个比较复杂的技术,对于初学者,可以忽略配置。后续我们会在专门的博客中讨论 TFS 报表的安装配置、应用、自定义开发和性能问题。
11. 默认团队项目集合
安装过程中,系统会自动创建一个团队项目集合”DefaultCollection“,系统会为每个团队项目新建一个数据库。为了区别其他已经步数据的,我们在团队项目集合的名称后面添加 2019.
12. 配置信息汇总页面,无需解释
13. 配置 Java 运行时环境
Azure DevOps Server (TFS2017 以后的版本)系统要求有 Java 环境!什么,Java?微软的产品需要 Java?你是来搞笑么?
是的,基于 Elastics Search 搜索引擎的搜索功能需要 Java 运行时环境,必须安装对应版本的 Java 环境,并且必须安装 Server JRE。安装就绪以后,点击”单击此处重新运行就绪检查“。
Java 环境的安装比较简单,只需要将 JRE 复制到服务器,再添加环境变量”JAVA_HOME”,就可以了。
看到所有检查结果都是绿勾以后,急可以点击下一步,开始实际的配置过程了。
14. 执行配置
配置过程可能需要几分钟,根据你的硬件配置,所需时间不一样。例如,在我的笔记本的 SSD 硬盘上,整个配置过程大约耗费了 10 分钟时间。
15. 配置完成
看到配置成功的页面后,你可以使用浏览器打开页面(例如:http://tfsserver:8080/tfs),开始你的 DevOps 之旅了!
后续我们会在 Azure DevOps Server 2019 的应用上,包括敏捷看板、需求管理、代码管理、自动生成、自动发布和测试、Wiki 等方面,介绍相关的内容。