持续集成的组成



1.一个自动化构建过程:从检出代码、编译构建、运行测试、结果记录、测试统计等都是自动完成,无需人工干预



2.一个代码存储库,既需要版本控制软件来保障代码的可维护性,同时作为构建过程的素材库,一般使用SVN或Git。



3.一个持续集成服务器,Jenkins就是一个配置简单和使用方便的持续性集成服务器。




gitlab安装部署篇_git


持续集成的好处



1、降低风险,由于持续集成不断去构建,编译和测试,可以很早发现问题,所以修复的代价就少。


2、对系统健康持续检查,减少发布风险带来的问题。


3、减少重复性工作。


4、持续部署,提供可部署单元包。


5、持续交付可供使用的版本。


6、增强团队信心。



Jenkins工具特征:



gitlab安装部署篇_jenkins_02



Jenkins安装和持续集成环境配置


持续集成流程说明



gitlab安装部署篇_jenkins_03


说明:


1、开发人员每天进行代码提交,提交到Git仓库


2、Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都要重新在执行一次整个流程。


3、最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问应用。



服务器统一采用CentOS7



名称

IP地址

安装的软件

代码托管服务器

192.168.126.128

Gitlab-12.4.2

持续集成服务器

192.168.126.129

Jenkins-2.190.3,JDK1.8,Maven3.6.2,Git,SonarQube

应用测试服务器

192.168.126.130

JDK1.8,Tomcat8.5

Gitlab安装


1、安装相关依赖


yum -y install policycoreutils openssh-server openssh-clients postfix && yum -y install policycoreutils-python


2、启动ssh服务&设置为开机启动


systemctl enable sshd && systemctl start sshd


3、设置postfix开机启动,并启动,postfix支持gitlab发新信功能


systemctl enable postfix && systemctl start postfix


4、开放ssh以及http服务,然后重新加载防火墙列表


[root@localhost ~]# firewall-cmd --add-service=ssh --permanent
Warning: ALREADY_ENABLED: ssh
success
[root@localhost ~]# firewall-cmd --add-service=http --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]#


5、下载并安装


wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el6/gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm --no-check-certificate

rpm -i gitlab-ce-12.4.2-ce.0.el6.x86_64.rpm



gitlab安装部署篇_持续集成_04



6、修改配置文件


vim /etc/gitlab/gitlab.rb



gitlab安装部署篇_持续集成_05


改成本机ip



gitlab安装部署篇_服务器_06



7、重j加载配置及启动gitlab


gitlab-ctl reconfigure        #过程会有点久


gitlab-ctl restart



gitlab安装部署篇_git_07


8、把端口添加到防火墙


[root@localhost ~]# firewall-cmd --zone=public --add-port=82/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success



9、测试链接, 修改密码,默认用户为root


#浏览器连接登录


​http://192.168.126.128:82​


#打开链接后需要改改密码



gitlab安装部署篇_git_08


登录后的界面



gitlab安装部署篇_jenkins_09


10、Gitlab添加组、创建用户、创建项目


1)创建组


使用管理员root创建组,一个组里面可以有多个项目分支,可以将开发添加到组里面进行设置权限,不同的组就是公司不同的开发项目或者服务模块,不同的组添加不同的开发即可实现对开发设置权限的管理




gitlab安装部署篇_jenkins_10





gitlab安装部署篇_服务器_11


2、创建项目



gitlab安装部署篇_持续集成_12






gitlab安装部署篇_持续集成_13




gitlab安装部署篇_持续集成_14



 3、创建用户



gitlab安装部署篇_jenkins_15



gitlab安装部署篇_jenkins_16




gitlab安装部署篇_jenkins_17



4、创建用户密码



gitlab安装部署篇_服务器_18





Gitlab用户在组里面有5种不同权限



gitlab安装部署篇_jenkins_19


5、为zhangsan用户添加到组里并设置最高权限



gitlab安装部署篇_持续集成_20



gitlab安装部署篇_服务器_21


使用zhangsan账号登录,需要再次修改密码,也可以保持之前的密码



gitlab安装部署篇_持续集成_22



登陆后



gitlab安装部署篇_持续集成_23




gitlab安装部署篇_jenkins_24