CentOS7安装GitLab及基本使用

目录

安装准备

安装GitLab

初始化

启停命令

[修改 root 密码](#修改 root 密码)

设置简体中文

创建用户

创建群组

修改external_url

解决端口冲突

8080

8060

解决GitLab头像异常问题

IDEA和GitLab的集成

[1)IDEA安装 GitLab 插件](#1)IDEA安装 GitLab 插件)

[2) 配置 SSH 免密登录(如已配置,则跳过)](#2) 配置 SSH 免密登录(如已配置,则跳过))

[3)获取 GitLab 个人令牌](#3)获取 GitLab 个人令牌)

[4)添加 GitLab 服务](#4)添加 GitLab 服务)

5)修改默认分支的保护策略

提交代码到GitLab

卸载GitLab


安装准备

1)开启ssh:(已开启可跳过)

复制代码
sudo systemctl status sshd
sudo systemctl enable sshd
sudo systemctl start sshd

2)防火墙开放http、https服务:(已关闭防火墙可跳过)

复制代码
sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

安装GitLab

1)上传安装包 下载地址:gitlab/gitlab-ce - Packages · packages.gitlab.com

安装包名称:gitlab-ce-16.2.1-ce.0.el7.x86_64.rpm

安装包较大,建议下载好手动上传服务器。这里上传到/home/hadoop/installfile

2)编写安装脚本

复制代码
cd ~/bin
vim gitlab-install.sh

脚本内容如下:

sudo yum install -y curl policycoreutils-python openssh-server perl
sudo rpm -ivh /home/hadoop/installfile/gitlab-ce-16.2.1-ce.0.el7.x86_64.rpm
sudo yum install -y postfix
sudo systemctl enable postfix
sudo systemctl start postfix

注意:gitlab安装包路径根据实际情况修改。

3)修改脚本执行权限并执行

复制代码
chmod +x gitlab-install.sh
sh gitlab-install.sh

初始化

执行过程大概需要3分钟:

复制代码
sudo gitlab-ctl reconfigure

启停命令

1)启动命令

复制代码
sudo gitlab-ctl start

2)停止命令

复制代码
sudo gitlab-ctl stop

修改 root 密码

1)启动gitlab后,访问Web页面 默认使用80端口,浏览器访问安装服务器的hostname或ip

复制代码
node4

2)修改root密码

账号root,密码将随机生成并在 /etc/gitlab/initial_root_password 中保存24 小时,查看初始密码命令:sudo cat /etc/gitlab/initial_root_password

复制代码
[hadoop@node4 bin]$ sudo cat /etc/gitlab/initial_root_password
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.
​
Password: yIcU5mTT6SGWUGPzBXTZsvptzPD44/wnxTIvJLRiDdI=
​
# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
​

查看到密码在Password: 一行

使用root账号及查到的密码登录。

修改root密码

点击Password,进入修改密码界面,注意密码不能太简单,且最小为8位。

设置简体中文

在Language设置简体中文

点击左上角gitlab头像,返回首页,看到已经变成了中文

创建用户

为了更符合公司实际,我们假设数据组的leader账号为tutou,你是你名字拼音的缩写,例如:ljh。

再创建一个开发用户

重置密码

用户会收到重置密码的邮件,也可以由管理员设置:

根据页面提示设置密码。

创建群组

创建研发中心组

在研发中心组下,再创建一个大数据组:

对于人员权限以及角色,有如下五种:

  • Owner:最高权限,谁去创建组,这个组就被谁拥有,它可以开除管理员,但管理员无法操作owner的角色。
  • Maintainer :(管理员-只是具备sudo权限的用户)管理员一般是给小组的组长,或者是给产品线的总监设定。
  • Developer:是干活的人,就是写代码的程序员,可以进行代码的上传以及代码的下载,不能下载其他的组内的代码,只能下载它们组的代码。
  • Repoter:比如现在有需求,其他组的大牛到我们组过来指导工作,要审视我们的代码,人家就提出需要一个权限,我不能给它developer因为它会改你代码,其他组的人不能改我们组的代码,所以就给一个repoter权限,他只能看,只读权限。
  • guest:不用看,匿名,直接去掉。一般出现在从ldap中把离职人员的信息删掉,再去gitlab查这个人的时候,它就是一个guest用户(匿名)需要再到gitlab把它删掉(不删也没事)。

将数据组的leader设为bigdata的负责人:

邀请成员后,效果如下:

修改external_url

修改external_url

复制代码
sudo vim /etc/gitlab/gitlab.rb

在文件中找到external_url,

复制代码
external_url 'http://gitlab.example.com'

修改为如下内容

复制代码
external_url 'http://node4'

保存退出

重启GitLab生效

复制代码
sudo gitlab-ctl restart

修改host

此处的host决定了Web端项目Clone标签下看到的URL中使用的域名或主机名,如下。

编辑gitlab.yml

复制代码
sudo vim /opt/gitlab/embedded/service/gitlab-rails/config/gitlab.yml

找到gitlab.host修改为如下内容

复制代码
  gitlab:
    ## Web server settings (note: host is the FQDN, do not include http://)
    host: node4
    port: 80
    https: false

保存退出 重启GitLab生效

复制代码
sudo gitlab-ctl restart

查看效果

解决端口冲突

8080

从GitLab 13.0开始,Puma是默认的应用程序服务器,GitLab 14.0及更高版本已删除对Unicorn的支持。Puma需要使用8080端口,而Zookeeper当前版本的Admin服务也会占用8080端口,因此,如果Zookeeper先于GitLab启动,则通过Web端访问GitLab将会报错,错误码为502

(1)修改puma.rb

复制代码
[hadoop@node4 ~]$ sudo vim /var/opt/gitlab/gitlab-rails/etc/puma.rb

将Puma绑定的TCP端口更改为8089,如下

复制代码
bind 'tcp://127.0.0.1:8089'

保存退出

(2)修改gitlab.rb

复制代码
[hadoop@node4 ~]$ sudo vim /etc/gitlab/gitlab.rb

将Puma端口更改为8089

复制代码
puma['port'] = 8089

注意:把行首的#注释删除

保存退出

(3)重新加载配置

复制代码
[hadoop@node4 ~]$ sudo gitlab-ctl reconfigure

(4)重启GitLab

复制代码
[hadoop@node4 ~]$ sudo gitlab-ctl restart

注:重启后可能需要等待几十秒方可恢复Web端访问

8060

默认情况下GitLab会在本地的8060端口启动服务来监控NGINX服务的状态,而Doris的brpc_port默认端口也是8060,这个端口是用于Backends之间及Backends和Frontends通信的,如果被占用则Backend进程无法启动。 我们可以修改Doris集群Backends的brpc_port端口,也可以修改GitLab的nginx-status端口,此处选择后者。

(1)编辑/etc/gitlab/gitlab.rb

复制代码
[hadoop@node4 ~]$ sudo vim /etc/gitlab/gitlab.rb

(2)在文件中做出以下修改

找到nginx['status'],打开注释,修改为以下内容

nginx['status'] = {
  "enable" => true,
  "listen_addresses" => ["127.0.0.1"],
  "fqdn" => "127.0.0.1",
  "port" => 9999,
  "vts_enable" => true,
  "options" => {
    "server_tokens" => "on", # Don't show the version of NGINX
    "access_log" => "on", # Disable logs for stats
    "allow" => "127.0.0.1", # Only allow access from localhost
    "deny" => "all" # Deny access to anyone else
  }
 }

保存退出。

(3)重新加载配置

复制代码
[hadoop@node4 ~]$ sudo gitlab-ctl reconfigure

(4)重启

复制代码
[hadoop@node4 ~]$ sudo gitlab-ctl restart

解决GitLab头像异常问题

(1)编辑配置文件

复制代码
[hadoop@node4 ~]$ sudo vim /etc/gitlab/gitlab.rb

(2)修改或添加plain_url和ssl_url

将默认的Gravatar服务器的URL替换为国内镜像地址

复制代码
### Gravatar Settings
gitlab_rails['gravatar_plain_url'] = 'http://gravatar.loli.net/avatar/'
gitlab_rails['gravatar_ssl_url'] = 'https://gravatar.loli.net/avatar/'

(3)重新加载配置生效

复制代码
[hadoop@node4 ~]$ sudo gitlab-ctl reconfigure

IDEA和GitLab的集成

1)IDEA安装 GitLab 插件

2) 配置 SSH 免密登录(如已配置,则跳过)

进入windows cmd命令行,执行如下命令

复制代码
ssh-keygen -t rsa -C your@email.com

邮箱可以任意写,建议改成自己的邮箱

执行命令后,连续敲三次回车

到用户目录下.ssh查看id_rsa.pub公钥文件

将公钥(id_rsa.pub)文件内容添加到GitLab中:

3)获取 GitLab 个人令牌

点击头像->编辑个人资料

复制个人访问令牌

4)添加 GitLab 服务

添加成功如下

5)修改默认分支的保护策略

提交代码到GitLab

新建Maven工程,工程名称,例如:demogitlab

创建.gitignore文件

在工程根目录,新建.gitignore文件,内容如下:

/**/target
/**/.idea
*.iml
*.class

**/*/dependency-reduced-pom.xml

上传工程代码到GitLab

填写工程名,选择Group信息,点击Share

点击Yes

返回浏览器,查看gitlab项目,看到上传成功如下:

接下来,开发人员开发代码,并提交代码

登录开发者账号,例如:ljh,首次登录后提示提示更改密码,及修改显示语言。

开发人员代码开发

java 复制代码
package org.example;

public class Hello {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

开发人员提交代码到GitLab

申请个人访问令牌

删除原有IDEA令牌,设置开发用户的令牌

提交代码

点击Push提交成功后,到浏览器页面查看demogitlab项目的提交情况,看到了最新的提交内容如下:

卸载GitLab

如果需要卸载gitlab

1 )卸载gitlab

复制代码
[hadoop@node4 installfile]$ sudo rpm -e gitlab-ce-16.2.1-ce.0.el7.x86_64

2 )删除gitlab文件

复制代码
[hadoop@node4 installfile]$ sudo rm -rf /etc/gitlab
[hadoop@node4 installfile]$ sudo rm -rf /var/opt/gitlab
[hadoop@node4 installfile]$ sudo rm -rf /opt/gitlab

完成!enjoy it!

相关推荐
奇遇少年15 小时前
代码托管服务:GitHub、GitLab、Gitee
gitee·gitlab·github
白如意i1 天前
在Ubuntu 16.04上安装和配置GitLab的方法
linux·ubuntu·gitlab
kuuuugua2 天前
2024广东省职业技能大赛云计算赛项实战——集群部署GitLab Runner
ci/cd·容器·云计算·k8s·gitlab
kuuuugua2 天前
2024广东省职业技能大赛云计算赛项实战——集群部署GitLab Agent
运维·ci/cd·容器·云计算·k8s·gitlab
桃花源小王子2 天前
【Linux】部署 GitLab 服务
linux·运维·gitlab
vivo互联网技术3 天前
vivo 互联网自研代码评审 VCR 落地实践
git·gitlab·intellij idea
CesareCheung3 天前
Gitlab上传代码时自动触发Jenkins构建代码配置
运维·gitlab·jenkins
mayo的自留地4 天前
最新版Git安装指南使用指南
开发语言·git·gitee·云计算·gitlab·github·gitcode
原创小白变怪兽4 天前
GitLab配置免密登录之后仍然需要Git登录的解决办法
git·gitlab
CesareCheung5 天前
Pytest+Allure+Yaml+Jenkins+Gitlab接口自动化中Jenkins配置
gitlab·jenkins·pytest