今天起,汇智妹带大家一起学习软件测试中的『持续集成』部分——自动编译和打包。
本文会以图文实操演示的方式,分别阐述:持续集成的概念(CI、CD、DevOps)、持续集成的准备(硬件、软件、知识技能)、持续集成的实现流程、开发客户端和开发源代码库部署,包括——注册Gitee账号、安装git、创建Gitee远程源代码仓库、创建本地代码仓库并关联Gitee远程仓库...
1.1 什么是持续集成
1.1.1 持续集成的概念
持续集成(CI)
持续集成(Continuous Integration)就是指在软件开发过程中持续的编译、打包、部署、测试和反馈
程序员在向版本库中提交代码后,CI持续集成服务器自动发现或者定时发现变更,依据这些源码,重新构建产品的编译、测试、审查、部署和反馈过程
持续集成通常包含至少:
1. 代码存储库(使用Git或SVN搭建)
2. 持续集成服务器(Jenkins、Hudson)
3. 部署服务器(Tomcat、Apache、Nginx、MySQL)
CD
Continuous Devlopment:持续开发,自动化的合并集成代码
DevOps
Development和Operations的组合,简单说就是开发+部署
用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合
透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠
通常使用软件:Docker、K8s等
以上三个概念经常被混在一起使用,最近几年常称的DevOps可以认为是持续集成+Docker和K8s
1.1.2 持续集成的准备
硬件准备
如果是实际开发环境,需要至少两台高性能的服务器
在教学环境中,可以将上面的代码库、持续集成服务器和部署服务器都安装在本机,但是要求:CPU至少4核,内存至少8G,硬盘剩余空间至少40G
软件准备
1. Git(用于管理项目代码和自动化测试代码)
2. Gitee账号(远程部署项目代码和自动化测试代码)
3. VMWare虚拟机软件(虚拟两台服务器:持续集成服务器和部署服务器)
4. Linux安装ISO镜像(两台虚拟机服务器的安装镜像)
5. SecureCRT(Linux的远程管理终端软件)
其它的软件要求在后面安装部署过程中再讲解
知识技能准备
要学会持续集成的环境搭架,要求必须要熟练使用Linux的常用命令,对于测试自动化有一定技能要求
1.1.3 持续集成的实现流程
以下课程会按照以下流程图来进行讲解,当前讲解环节被标记为红色
1.2 开发客户端和开发源代码库部署
我们先实现本地代码仓库和远程代码仓库
开发客户端Git和开发源代码库Gitee需要一起部署
1.2.1 注册Gitee账号
gitee是开源中国开发的一款基于git的代码托管平台,能够用码云实现代码托管、项目管理、协作开发,目前是国内最大的代码系统,gitee和github的作用和性质是类似的,但是相比于github而言,gitee有两个显著的优势:一是速度快,二是支持免费的私密项目。
1.2.2 安装git
git是一个分布式的开源版本控制系统,git是一种技术或者说是工具,而gitee和github是基于git的代码托管平台,理解它们的区别还是很重要的。git和svn有本质上的区别,svn是一个集中式的开源的版本控制系统,所以svn对于权限控制方面更严格一些,只能说各有优势。
或从课程资料\工具文件夹找到安装包:
如果按照默认的选项进行安装,不需要自己配置环境变量,因为git的环境变量会自动配置好
安装完成验证:
输入:git --version ,若果显示正确版本号,安装成功
本文会以图文实操演示的方式,分别阐述:持续集成的概念(CI、CD、DevOps)、持续集成的准备(硬件、软件、知识技能)、持续集成的实现流程、开发客户端和开发源代码库部署,包括——注册Gitee账号、安装git、创建Gitee远程源代码仓库、创建本地代码仓库并关联Gitee远程仓库...
1.1 什么是持续集成
1.1.1 持续集成的概念
持续集成(CI)
持续集成(Continuous Integration)就是指在软件开发过程中持续的编译、打包、部署、测试和反馈
程序员在向版本库中提交代码后,CI持续集成服务器自动发现或者定时发现变更,依据这些源码,重新构建产品的编译、测试、审查、部署和反馈过程
持续集成通常包含至少:
1. 代码存储库(使用Git或SVN搭建)
2. 持续集成服务器(Jenkins、Hudson)
3. 部署服务器(Tomcat、Apache、Nginx、MySQL)
CD
Continuous Devlopment:持续开发,自动化的合并集成代码
DevOps
Development和Operations的组合,简单说就是开发+部署
用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合
透过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、发布软件能够更加地快捷、频繁和可靠
通常使用软件:Docker、K8s等
以上三个概念经常被混在一起使用,最近几年常称的DevOps可以认为是持续集成+Docker和K8s
1.1.2 持续集成的准备
硬件准备
如果是实际开发环境,需要至少两台高性能的服务器
在教学环境中,可以将上面的代码库、持续集成服务器和部署服务器都安装在本机,但是要求:CPU至少4核,内存至少8G,硬盘剩余空间至少40G
软件准备
1. Git(用于管理项目代码和自动化测试代码)
2. Gitee账号(远程部署项目代码和自动化测试代码)
3. VMWare虚拟机软件(虚拟两台服务器:持续集成服务器和部署服务器)
4. Linux安装ISO镜像(两台虚拟机服务器的安装镜像)
5. SecureCRT(Linux的远程管理终端软件)
其它的软件要求在后面安装部署过程中再讲解
知识技能准备
要学会持续集成的环境搭架,要求必须要熟练使用Linux的常用命令,对于测试自动化有一定技能要求
1.1.3 持续集成的实现流程
以下课程会按照以下流程图来进行讲解,当前讲解环节被标记为红色
1.2 开发客户端和开发源代码库部署
我们先实现本地代码仓库和远程代码仓库
开发客户端Git和开发源代码库Gitee需要一起部署
1.2.1 注册Gitee账号
gitee是开源中国开发的一款基于git的代码托管平台,能够用码云实现代码托管、项目管理、协作开发,目前是国内最大的代码系统,gitee和github的作用和性质是类似的,但是相比于github而言,gitee有两个显著的优势:一是速度快,二是支持免费的私密项目。
1.2.2 安装git
git是一个分布式的开源版本控制系统,git是一种技术或者说是工具,而gitee和github是基于git的代码托管平台,理解它们的区别还是很重要的。git和svn有本质上的区别,svn是一个集中式的开源的版本控制系统,所以svn对于权限控制方面更严格一些,只能说各有优势。
或从课程资料\工具文件夹找到安装包:
如果按照默认的选项进行安装,不需要自己配置环境变量,因为git的环境变量会自动配置好
安装完成验证:
输入:git --version ,若果显示正确版本号,安装成功