持续集成的组成


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


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


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


gitlab安装部署篇_git

持续集成的好处


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

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

3、减少重复性工作。

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

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

6、增强团队信心。


Jenkins工具特征:

gitlab安装部署篇_服务器_02


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

持续集成流程说明

gitlab安装部署篇_git_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安装部署篇_git_04


6、修改配置文件

vim /etc/gitlab/gitlab.rb

gitlab安装部署篇_git_05

改成本机ip

gitlab安装部署篇_服务器_06


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

gitlab-ctl reconfigure        #过程会有点久

gitlab-ctl restart

gitlab安装部署篇_git_07

8、把端口添加到防火墙

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

success

[root@localhost ~]# firewall-cmd --reload

success


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

#浏览器连接登录

​http://192.168.126.128:82​


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

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

登录后的界面

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

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

1)创建组

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


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



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

2、创建项目

gitlab安装部署篇_git_12




gitlab安装部署篇_git_13


gitlab安装部署篇_git_14


 3、创建用户

gitlab安装部署篇_服务器_15

gitlab安装部署篇_git_16


gitlab安装部署篇_git_17


4、创建用户密码

gitlab安装部署篇_git_18




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

gitlab安装部署篇_git_19

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

gitlab安装部署篇_git_20

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

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

gitlab安装部署篇_服务器_22


登陆后

gitlab安装部署篇_服务器_23


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