Gitlab Server 部署
1、环境配置
关闭防火墙、SELinux
开启邮件服务
- systemctl start postfix
- systemctl enable postfix
#ps:不开去邮箱可以不期待,不是必须操作
2、部署 Gitlab
1、安装 gitlab 依赖包
- centos7:
- ~]# yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python
- # gitlab-ce 10.x.x以后的版本需要依赖policycoreutils-python
-
- centos8:
- ~]# yum install -y curl openssh-server openssh-clients postfix cronie policycoreutils-python-utils
2、添加官方源
- ~]# curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
因为官方源太慢,可以使用国内清华yum源,配置如下
- ~]# vim /etc/yum.repos.d/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
3、安装 Gitlab
- ~]# yum -y install gitlab-ce # 自动安装最新版
- ~]# yum -y install gitlab-ce-x.x.x # 安装指定版本Gitlab
4、配置 Gitlab
1、查看Gitlab版本
- ]# head -1 /opt/gitlab/version-manifest.txt
- gitlab-ce 13.8.4
- [root@node1 gitlab]# pwd
- /opt/gitlab
- [root@node1 gitlab]# ll
- 总用量 2580
- drwxr-xr-x 2 root root 153 2月 14 21:02 bin
- -rw-r--r-- 1 root root 192450 2月 11 18:36 dependency_licenses.json
- drwxr-xr-x 14 root root 168 2月 14 21:02 embedded
- drwxr-xr-x 2 root root 32 2月 14 21:02 etc
- drwxr-xr-x 2 root root 6 2月 11 18:37 init
- -rw-r--r-- 1 root root 2391185 2月 11 18:36 LICENSE
- drwxr-xr-x 2 root root 306 2月 14 21:02 licenses
- drwxr-xr-x 2 root root 8192 2月 14 21:02 LICENSES
- drwxr-xr-x 2 root root 6 2月 11 18:37 service
- drwxr-xr-x 2 root root 6 2月 11 18:37 sv
- -rw-r--r-- 1 root root 31942 2月 11 18:37 version-manifest.json
- -rw-r--r-- 1 root root 12135 2月 11 18:37 version-manifest.txt #依赖包位置
2、Gitlab 配置登录链接
- #设置登录链接
- [root@qfedu.com ~]# vim /etc/gitlab/gitlab.rb
- ***
- ## GitLab URL
- ##! URL on which GitLab will be reachable.
- ##! For more details on configuring external_url see:
- ##! https://docs.gitlab.com/omnibus/settings/configuration.html#configuring-the-external-url-for-gitlab
- # 没有域名,可以设置为本机IP地址
32 external_url 'http://192.168.1.1' #也可以加端口
- ***
[root@node1 gitlab]# grep "^external_url" /etc/gitlab/gitlab.rb
external_url 'http://192.168.1.1' #绑定监听的域名或IP
3、初始化 Gitlab
第一次使用配置时间较长
- ~]# gitlab-ctl reconfigure
......
Running handlers:
Running handlers complete
Chef Infra Client finished, 578/1549 resources updated in 02 minutes 57 seconds
Notes:
It seems you haven't specified an initial root password while configuring the GitLab instance.
On your first visit to your GitLab instance, you will be presented with a screen to set a
password for the default admin account with username `root`.
gitlab Reconfigured!
4、启动 Gitlab 服务
- [root@node1 gitlab]# gitlab-ctl start
- ok: run: alertmanager: (pid 14192) 65s
- ok: run: gitaly: (pid 14079) 67s
- ok: run: gitlab-exporter: (pid 14089) 67s
- ok: run: gitlab-workhorse: (pid 14049) 68s
- ok: run: grafana: (pid 14211) 64s
- ok: run: logrotate: (pid 13583) 153s
- ok: run: nginx: (pid 13560) 160s
- ok: run: node-exporter: (pid 14064) 68s
- ok: run: postgres-exporter: (pid 14203) 64s
- ok: run: postgresql: (pid 13272) 215s
- ok: run: prometheus: (pid 14174) 66s
- ok: run: puma: (pid 13459) 178s
- ok: run: redis: (pid 13101) 227s
- ok: run: redis-exporter: (pid 14091) 66s
- ok: run: sidekiq: (pid 13487) 172s
[root@node1 gitlab]# lsof -i:80 #查看git
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 13560 root 7u IPv4 64606 0t0 TCP *:http (LISTEN)
nginx 13561 gitlab-www 7u IPv4 64606 0t0 TCP *:http (LISTEN)
nginx 13562 gitlab-www 7u IPv4 64606 0t0 TCP *:http (LISTEN)
nginx 13563 gitlab-www 7u IPv4 64606 0t0 TCP *:http (LISTEN)
nginx 13564 gitlab-www 7u IPv4 64606 0t0 TCP *:http (LISTEN)
5、Gitlab 的使用
在浏览器中输入 http://192.168.1.1,然后 change password: ,并使用root用户登录 即可 (后续动作根据提示操作)

5.1、Gitlab 命令行修改密码
- ~]# 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 # 退出
5.2、Gitlab服务管理
- ~]# gitlab-ctl start # 启动所有 gitlab 组件;
- ~]# gitlab-ctl stop # 停止所有 gitlab 组件;
- ~]# gitlab-ctl restart # 重启所有 gitlab 组件;
- ~]# gitlab-ctl status # 查看服务状态;
- ~]# gitlab-ctl reconfigure # 初始化服务;
- ~]# vim /etc/gitlab/gitlab.rb # 修改默认的配置文件;
- ~]# gitlab-ctl tail # 查看日志;