gitLab 分支保护设置
一. 简介
开发当前开发的分支遇到暂时无法解决的问题,现在有需要开发其他应用,所以希望运维这边将当前有问题分支冻结,让其他人无法进行修改,待后续有时间在排查代码问题
二.Gitlab 配置步骤
1. 搜索并打开项目
2. 点击项目 Repository 标签
3. 点击分支 (branch)
4. 点击 project settings
5. 点击 Protected Branches 的 Expand 标签
6. 配置界面如下:
允许 merge 和 push 的权限有三种:
示例:(对 boss-xxx-xxx 分支进行保护,不允许任何人进行合并和修改)
最后结果如下:
简介:GitLab 是一个利用 Ruby on Rails 开发的开源应用程序,实现一个自托管的 Git 项目仓库,可通过 Web 界面进行访问公开的或者私人项目。它拥有与 Github 类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日后有需要的时候进行查找。
项目地址:https://gitee.com/mirrors/gitlab
部署安装:
注意: gitlab 需要 4g 内存支持
1、配置 gitlab 源
新建 /etc/yum.repos.d/gitlab_gitlab-ce.repo,内容为:
[gitlab-ce]
name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1
2、部署社区版 gitlab
2.1、安装 gitlab 的依赖项
yum install -y curl policycoreutils-python openssh-server
2.2、启动 postfix,并设置为开机启动
systemctl start postfix
systemctl enable postfix
2.3、设置防火墙 (如果未使用防火墙可以跳过)
firewall-cmd –add-service=http –permanent
systemctl reload firewalld
2.4、获取 gitlab 的 rpm 包
https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
2.5、安装 rpm 包
rpm -i gitlab-ce-10.0.2-ce.0.el7.x86_64.rpm
2.6 执行指令配置 gitlab
gitlab-ctl reconfigure
2.7 修改配置文件 gitlab.rb
vim /etc/gitlab/gitlab.rb
将 external_url 变量的地址修改为 gitlab 所在 centos 的 ip 地址。
因为修改了配置文件,故需要重新加载配置内容。
gitlab-ctl reconfigure
gitlab-ctl restart
2.8 查看 gitlab 版本
head -1 /opt/gitlab/version-manifest.txt
3、部署汉化版 gitlab
说明:gitlab 中文社区版的项目,v7-v8.8 是由 Larry Li 发起的“GitLab 中文社区版项目”(https://gitlab.com/larryli/gitlab),从 v8.9 之后,@xhang 开始继续该汉化项目(https://gitlab.com/xhang/gitlab)。
3.1 安装 git
yum install -y git
3.2 克隆获取汉化版本库
下载最新的汉化包
git clone https://gitlab.com/xhang/gitlab.git
如果是要下载老版本的汉化包,需要加上老版本的分支,比如今天已经是 10.0.4,我依旧想下载 10.0.2,可以运行下面的语句
git clone https://gitlab.com/xhang/gitlab.git -b v10.0.2-zh
3.3 查看该汉化补丁的版本
cat gitlab/VERSION
四、覆盖汉化包
4.1 停止 gitlab 服务
gitlab-ctl stop
4.2 切换到 gitlab 汉化包所在的目录(即步骤二获取的汉化版 gitlab)
cd /root/gitlab
4.3 比较汉化标签和原标签,导出 patch 用的 diff 文件到 /root 下
git diff v10.0.2 v10.0.2-zh > ../10.0.2-zh.diff
4.4 回到 /root 目录
cd /root
4.5 将 10.0.2-zh.diff 作为补丁更新到 gitlab 中
yum install patch -y
patch -d /opt/gitlab/embedded/service/gitlab-rails -p1 < 10.0.2-zh.diff
4.6 启动 gitlab
gitlab-ctl start
4.7 重新配置 gitlab
gitlab-ctl reconfigure
5、设置管理员密码
管理员账号登录的用户名:root
(虽然登录后管理员的用户名为 Administrator,但是实际登录的用户名是 root)
方法一:网页方式
浏览器访问 gitlab 所在的 ip,输入密码后点击 “Change your password”(如果进行汉化,点击“修改密码”)。
方法二:指令方式
gitlab-rails console production
稍等一会后会出现
irb(main):001:0> user = User.where(id: 1).first // id 为 1 的是超级管理员
irb(main):002:0>user.password = ‘yourpassword’ // 密码必须至少 8 个字符
irb(main):003:0>user.save! // 如没有问题 返回 true
exit // 退出
一. 简介
gitlab 默认提供 HTTP/SSH 两种请求方式下载代码
测试用的 gitlab 账号
账号:abc
密码:123456
二. 配置
1. 生成秘钥,一路回车即可
cd ~
ssh-keygen -t rsa -C “abc”
2. 在当前家目录下,新建文件,用于存储 git 配置,邮箱没有就随意填写
vim .gitconfig
[user]
name = abc
email = abc@163.com
[credential]
helper = store
[http]
sslVerify = false
3. 新建 git 的 XXX 文件
vim .git-credentials
https://{username}:{password}@github.com
4. 输入命令
git config –global credential.helper store
5. 复制秘钥内容
cat ~/.ssh/id_rsa.pub
6. 在 gitlab 上登录自己账号,此账号一定要与 2.2 账号一样,选中 settings
7. 粘贴到 SSH Keys 的框中
8. 如图表述 gitlab 已经添加好你本地密钥
9. 测试拉取,是否还需要账号密码