持续集成流程说明
1、首先,开发人员每天进行代码提交,提交到Git仓库
2、然后,Jenkins作为持续集成工具,使用Git工具到Git仓库拉取代码到集成服务器,再配合JDK,
Maven等软件完成代码编译,代码测试与审查,测试,打包等工作,在这个过程中每一步出错,都重新
再执行一次整个流程。
3、最后,Jenkins把生成的jar或war包分发到测试服务器或者生产服务器,测试人员或用户就可以访问
应用。
服务器准备:准备3台服务器,可以使用VMWare建3台虚拟机
虚拟机安装配置指引可以参考:
cnblogs.com/lrc123/p/16095016.html
本次介绍服务器配置如下:
名称 | IP地址 | 安装的软件 |
代码托管服务器(CentOS7-test001) | 192.168.80.133 | gitlab |
持续集成服务器(CentOS7-test002) | 192.168.80.134 | jenkins,jdk,maven,git,SonarQube |
应用部署服务器(CentOS7-test003) | 192.168.80.135 | jdk,tomcat |
一:安装gitlab
1、安装相关依赖:
yum -y install policycoreutils openssh-server openssh-clients postfix
2、设置postfix开机自启,并启动,postfix支持gitlab发信功能:
systemctl enable postfix && systemctl start postfix
3、 开放ssh以及http服务,然后重新加载防火墙列表 :
firewall-cmd --add-service=ssh --permanent firewall-cmd --add-service=http --permanent firewall-cmd --reload
如果服务器关闭防火墙就不需要做以上配置
4、下载gitlab包并安装,此处我放在opt目录下
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-14.1.0-ce.0.el7.x86_64.rpm
5、安装gitlab
rpm -ivh gitlab-ce-14.1.0-ce.0.el7.x86_64.rpm
6、修改gitlab配置,gitlab访问地址和端口,默认为80,这里改为82
vim /etc/gitlab/gitlab.rb
external_url 'http://192.168.80.133:82'
nginx['listen_port'] = 82
7、重载配置及启动gitlab
gitlab-ctl reconfigure #此命令花时几分钟 gitlab-ctl restart
8、把端口添加到防火墙
firewall-cmd --zone=public --add-port=82/tcp --permanent firewall-cmd --reload
9、等待gitlab启动完成后即可完成安装,输入地址:192.168.80.133:82
二:gitlab的基本使用
1、更改密码。gitlab14安装好后,默认账户名是root,密码存放在配置文件:/etc/gitlab/initial_root_password下,这个文件将在首次执行reconfigure后24小时自动删除,此时我们拿到密码登录后修改密码
修改完密码后,就可以正常使用gitlab了。
2、创建用户组
3、创建用户并修改密码
为用户修改密码:
4、将用户添加到组:
Gitlab用户在组里面有5种不同权限:
Guest:可以创建issue、发表评论,不能读写版本库
Reporter:可以克隆代码,不能提交
Developer:可以克隆代码、开发、提交、push
Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目
Owner:可以设置项目访问权限 - Visibility Level、删除项目、迁移项目、管理组成员
5、在用户组里创建项目
6、本地简单建一个hello_world的SpringBoot项目并上传到gitlab
1)将项目设置为受git管控
2)将项目添加到git
3)将项目提交到本地
4)配置远程仓库
该处的url目前我拿gitlab上的Http地址:
此处输入前面我们注册的用户账户和密码
5)将本地项目推送到远程仓库
在这里发现,使用我们创建的用户推送不了代码,原因是因为,我们gitlab的这个项目仓库地址没有默认的master分支,此时我们将推送用户改成admin即可
可以看到,代码已经推送到远程仓库成功,下面我们到gitlab查看:
本地项目成功推送到了gitlab仓库