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. 测试拉取,是否还需要账号密码