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!

相关推荐
测试开发技术2 天前
git rm 命令与系统的 rm 命令有什么区别?
git·gitlab·github·面试题
云和数据.ChenGuang3 天前
关闭 GitLab 升级提示的详细方法
运维·自动化·gitlab·es运维
读创商闻3 天前
极狐GitLab CEO 柳钢——极狐 GitLab 打造中国企业专属 AI 编程平台,引领编程新潮流
人工智能·gitlab
小川zs3 天前
gitee某个分支合并到gitlab目标分支
gitee·gitlab
你的人类朋友3 天前
✨【GitLab】【CI/CD】核心概念一览
gitlab·自动化运维·devops
Gold Steps.4 天前
基于 Gitlab、Jenkins与Jenkins分布式、SonarQube 、Nexus 的 CiCd 全流程打造
运维·ci/cd·gitlab·jenkins
咚咚?4 天前
基于gitlab 构建CICD发布到K8S 平台
容器·kubernetes·gitlab
荔枝吻8 天前
【保姆级喂饭教程】GitLab创建用户规范,分支开发规范,提交日志规范
gitlab·git规范·分支规范
云畅新视界8 天前
从 CODING 停服到极狐 GitLab “接棒”,软件研发工具市场风云再起
人工智能·gitlab