一、服务器资源
二、gitlab安装
2.1 设置yum源部署
#添加yum源,这里是清华源,替换成阿里源,中科大均可
cat > /etc/yum.repos.d/gitlab-ce.repo << EOF
[gitlab-ce]
name=gitlab-ce
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/
gpgcheck=0
enabled=1
EOF
#运行生成缓存
yum makecache
#安装指定版本,ce为免费的社区版本,若安装最新yum install -y gitlab-ce
yum install -y gitlab-ce-13.12.15
2.2 关闭防火墙
systemctl stop firewalld && systemctl disable firewalld
2.3 修改外链地址
vim /etc/gitlab/gitlab.rb
#改为自己本机的内网地址或内网域名
重载一下配置
#重启时间较长,需耐心等待
gitlab-ctl reconfigure
2.4 查看gitlab启动状态
gitlab-ctl status
看到如下图就证明已经成功运行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
四、GitLab使用方法
4.1 设置语言
找到【Preferences】,即【偏好设置】。
选择【简体中文】,没有100%汉化,但够用,最后【Save changes】刷新页面生效。
4.2 账号权限
4.2.1 创建账号
新建账号步骤
创建示例用户名,必须项,创建用户密码
继续往下翻,选择【普通】或【管理员】,这里选择普通用户
一些非必要需求,可按需配置,如头像,完成后点击【Create user】
Tips:新建账号登录默认语言为英语,可根据自身选择中文,参考本文4.1章节!
4.2.2 一些额外权限操作
4.1.1 创建完成后,会进到新UI界面,如【冻结用户】、【禁用用户】、【删除用户】、【删除用户及相关文献】,如在生产环境中,谨慎操作
4.3 群组权限
4.3.1 新建群组
创建群组的目的是为了有限的【开发人员】访问有限的【项目】或【代码仓库】,实施权限最小化,以维护生产环境代码仓库的安全性
创建一个私有项目,相对严格控制权限
4.3.2 邀请群组内部协作成员
如新建的【create_user】用户,邀请到新建的【newtestgroup】群组内,也可多选,这里示例一个。【访问日期】不设置,默认长期
随后对应的用户会收到管理员邀请进入群组
4.3.3 成员首次登录
账户:create_user,首次登录需要修改密码
保存修改之后,会重新登录一遍,发现已经加入到了新【群组】
4.4 创建项目
4.4.1 新建项目
创建一个空白项目,若有历史项目模板也可以导入
新建一个【项目名称】,【项目url】后可以选所在新建的群组,该群组将获得该项目的访问或开发权限,【可见级别】依然选【私有】
新建项目后,此时会有命令行,推送首个代码仓库,详情继续看4.3章节内容
4.4.2 成员查看项目
当4.3.1完成后,且项目url选择了群组,该群组下成员登录即可查看已在群组和项目内了。
4.5 推送代码
4.5.1 拉取项目
从github或gitee找一个开源项目并拉取下来,此处我已经拉取到了本地目录
4.5.2 执行推送命令
Git全局设置
#name和email需改为实际的
git config --global user.name "Administrator"
git config --global user.email "admin@example.com"
推送现有仓库
cd newtest
git init
git remote add origin git@172.16.10.142:newtestgroup/newtest.git
git add .
git push -u origin master
初次git commit如下为正常遍历现象
git push -u origin master执行后,会显示如下
注意,成员和群组的权限应相同
再次登录新建账号,查看仓库已经有了代码,至此一个项目代码推送成功
4.6 成员代码合并请求
4.6.1新建代码分支
新建分支名,创建源master分支,视具体情况而定,如有较严格的权限,可能需选择其他分支。最后【Create branch】可成功创建分支
在线代码变动、文件变动,或在本地变动推送
假设开发者已经用自己的代码分支完成代码调试、测试,随后就可以【创建合并请求】合并到正式环境的master分支。
提交一些描述信息
**指派人:**明确当前负责人,即该合并请求的“主人”,指派人不等于审核者(除非兼任)
**审核者:**强制或建议进行代码审查,确保代码质量与规范。审查代码逻辑、提出修改意见、批准合并(Approval)
**Milestone(里程碑):**特定迭代或版本目标,如v1.0发布。需新建里程碑
**标签(Labels):**通过标签过滤MR(如查看所有bug或 featrue类型的MR)、自动化触发:结合GitLab CI/CD或Webhook,实现标签驱动的流程(如security标签触发额外安全扫描)
最后提交合并请求
4.6.2 审核通过代码分支合并请求
重新登录管理员账号查看合并请求消息
选择代码分支
点击请求
可选【批准】因为代码审查和合并都是选择管理员,实际情况可能由1到2人不同分工;随后【合并】,一般不用删除源分支,方便下次继续开发。
到这里,代码已经合并
4.6.3 确认代码已合并
查看Jenkinsfile,已经有了开发人员添加的注释,代码合并请求至此闭环
评论区