文章目录
1、gitlab安装
1.1、gitlab介绍
1.1.1、概念
Gitlab是一个开源分布式版本控制系统,由Ruby开发,有管理项目源代码、版本控制、代码复用与查找等功能
1.1.2、gitlab与github的区别
- github是分布式在线代码托管仓库,个人版本可直接在线免费使用,企业版本收费且需要服务器安装
- gitlab是分布式在线代码仓库托管软件,分社区免费版本与企业收费版本,都需要服务器安装
1.1.3、gitlab的优势
- 开源免费,社区免费版本适合中小型公司
- 差异化的版本管理,离线同步以及强大分支管理功能
- 便捷的GUI操作界面以及强大账户权限管理功能
- 集成度很高,能够集成绝大多数的开发工具
- 支持内置HA,保证在高并发下仍旧实现高可用性
1.1.4、gitlab主要服务构成
- Nginx 静态Web服务器
- Gitlab-workhorse 轻量级的反向代理服务器
- Gitlab-shell 用于处理Git命令和修改authorized keys列表
- Logrotate 日志文件管理工具
- Postgresql 数据库 Redis 缓存服务器
1.1.5、gitlab的工作流程
- 创建并克隆项目
- 创建项目某Feature分支
- 编写代码并提交至该分支
- 推送该项目分支至远程Gitlab服务器
- 进行代码检查并提交Master主分支合并申请
- 项目领导审查代码并确认合并申请
1.2、准备工作
我们演示的场景是在Linux系统中安装gitlab,所以需要有一个Linux环境,那我这里的方式是在本地装了一个虚拟机,然后安装了CentOS7的系统,如果你不会在本地安装虚拟机和CentOS7的话,可以参考我的这篇文章:https://blog.csdn.net/wujiangbo520/article/details/119043758,照着一步一步做就可以了
1.3、安装
好,上面我们已经准备好了Linux环境,那么我们现在就开始安装gitlab,但是安装gitlab方式有很多种,我们这里采取的是:通过rpm包进行安装
不同版本的Linux对应不同的rpm包
- 若Linux版本为Centos 7,则需要下载el7版本的GitLab
- 若Linux版本为Centos 8,则需要下载el8版本的GitLab
- 若Linux版本为Alibaba Cloud Linux release 3,则需要下载el8版本的GitLab
我这里是CentOS7系统,所以需要下载el7版本的GitLab,下载地址是:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7,如下:
下载的文件如下:
然后将文件上传到opt目录中,如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bUcHfoCe-1673165001970)(null)]
然后我们在opt目录下执行下面命令:
yum install -y curl policycoreutils openssh-server openssh-clients
如下:
然后我们可以设置成开机启动:
#启动ssh服务
systemctl start sshd
#ssh服务设置为开机启动
systemctl enable sshd
如下:
然后安装Postfix,Postfix是一个邮件服务器,GitLab发送邮件需要用到:
#安装postfix
yum install -y postfix
#启动postfix并设置为开机启动
systemctl start postfix
systemctl enable postfix
如下:
然后开放ssh以及http服务(80端口):
#开放ssh、http服务
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
如下:
如上图,说明设置成功了
然后关闭防火墙以及开机自动关闭防火墙:
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
如下:
接下来可以安装gitlab了:
rpm -ivh gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
如果出现下图,则说明安装成功:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yJuPAmTR-1673165001742)(null)]
1.4、配置
安装完gitlab需要修改配置文件,并加载
vim /etc/gitlab/gitlab.rb 进入配置文件
找到下面一行,修改IP:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aydGawat-1673165001686)(null)]
还需要配置发邮件的相关参数:
gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.qq.com"
gitlab_rails['smtp_port'] = 465
gitlab_rails['smtp_user_name'] = "11334135987@qq.com"
gitlab_rails['smtp_password'] = "授权码"
gitlab_rails['smtp_domain'] = "smtp.qq.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true
gitlab_rails['smtp_tls'] = true
gitlab_rails[‘gitlab_email_from’] = '11334135987@qq.com'
如下:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZV2jM0ux-1673165001643)(null)]
先按字母【i】进入编辑模式,修改完成后,按【Esc】然后输入【:wq】保存并退出即可
1.5、启动
修改好配置文件后,要使用下面命令重新加载一下配置文件,否则不生效
gitlab-ctl reconfigure
执行上面命令后,启动过程时间较长,需要耐心等待,结果如下:
然后执行下面命令查看一下gitlab的状态:
gitlab-ctl status
结果如下:
重启成功后,可以测试一下是否可以正常发邮件,执行下面命令进入控制台:
gitlab-rails console
如下:
然后执行下面命令,发送一封测试邮件,格式:Notify.test_email(‘收件人’, ‘标题’, ‘正文’).deliver_now
Notify.test_email('wujiangbo2018@163.com', 'gitlab测试', 'gitlab测试正文').deliver_now
然后查看你的邮箱,就可以收到邮件了:
说明邮件服务是正常的
1.6、测试
我们本地浏览器访问:http://192.168.92.128:9001,结果如下:
可以正常看到gitlab的首页,说明我们安装部署成功了,完美
2、gitlab安装目录
以下是gitlab常用的默认安装目录:
gitlab组件日志路径:/var/log/gitlab
gitlab配置路径:/etc/gitlab/ 路径下有gitlab.rb配置文件
应用代码和组件依赖程序:/opt/gitlab
各个组件存储路径: /var/opt/gitlab/
仓库默认存储路径 /var/opt/gitlab/git-data/repositories
版本文件备份路径:/var/opt/gitlab/backups/
nginx安装路径:/var/opt/gitlab/nginx/
redis安装路径:/var/opt/gitlab/redis
3、gitlab常用命令
#查看服务状态
gitlab-ctl status
使用控制台实时查看日志
# 查看所有的logs; 按 Ctrl-C 退出
gitlab-ctl tail
# 拉取/var/log/gitlab下子目录的日志
gitlab-ctl tail gitlab-rails
# 拉取某个指定的日志文件
gitlab-ctl tail nginx/gitlab_error.log
#启动关闭gitlab
gitlab-ctl start
gitlab-ctl stop #停止
gitlab-ctl status #查看状态
gitlab-ctl restart #重启
gitlab-ctl reconfigure #更新配置文件
gitlab-ctl help #帮助
gitlab-rake gitlab:check SANITIZE=true --trace 检查gitlab
#gitlab 默认的日志文件存放在/var/log/gitlab 目录下
gitlab-ctl tail #查看所有日志
#禁止 Gitlab 开机自启动
systemctl disable gitlab-runsvdir.service
#启用 Gitlab 开机自启动
systemctl enable gitlab-runsvdir.service
4、注册账号
访问地址:http://192.168.92.128:9001/users/sign_in,如下:
点击【Redister】按钮后,出现下面页面:
5、gitlab相关设置
5.1、设置中文
5.2、创建组
组相当于团队,在项目开发过程中,每个组有不同的组员和对应的不同的子项目,对项目组用户开放项目的访问
填写相关参数即可:
可见性级别中包含三种:
- 私有:群组及其项目只能由成员查看
- 内部:任何登录的用户都可以查看该群组和任何内部项目
- 公开:不进行身份验证,可以随意查看
5.3、创建项目
然后填写相关参数即可:
创建成功了:
5.4、组添加成员
用户角色总共有下面几个选项,分别为:
- Guest:可以创建issue、发表评论,不能读写版本库
- Reporter:可以克隆代码,不能提交,QA、PM可以赋予这个权限
- Developer:以克隆代码、开发、提交、push,RD可以赋予这个权限
- Maintainer:可以创建项目、添加tag、保护分支、添加项目成员、编辑项目,核心RD负责人可以赋予这个权限
- Owner:可以设置项目访问权限 – Visibility Level、删除项目、迁移项目、管理组成员,开发组leader可以赋予这个权限
5.5、创建readme文件
5.6、拉取项目
然后本地进行拉取:
然后输入账号wujiangbo,密码:itsource123456,然后可以拉取了:
拉取下来的代码是这样的:
目前里面啥也没有,就只有我们刚刚新建的一个readme.md文件
5.7、提交代码
我们新建一个文件后提交:
提交成功:
然后刷新gitlab查看是否上传成功:
查看提交的文件详情:
没有毛病,是我们提交的文件,测试成功
6、小结
其实gitlab和我们平时使用的Gitee没有太大的区别,使用方式大同小异,在工作中多用几次就不陌生了
如果本文对你有帮助的话,记得点个赞哦
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/116616.html