一、硬件要求
内存4g,磁盘80g
二、安装
本次安装采用离线安装包方式(但仍需要网络来下载部分依赖),直接安装在服务器上,后续再尝试Docker方式部署。
1. 上传离线安装包
2. 编写安装脚本
注意:脚本中的EXTERNAL_URL
是提供给外部浏览器访问的地址,默认为80
端口,也会成为克隆项目时的主机名部分,可以自己根据ip/域名进行配置,也可以在后续配置中修改。
# 创建并编辑脚本文件命令
vim gitlab-install.sh
# 脚本文件内容
sudo rpm -ivh /opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm
sudo yum install -y curl policycoreutils-python openssh-server cronie
sudo lokkit -s http -s ssh
sudo yum install -y postfix
sudo service postfix start
sudo chkconfig postfix on
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
sudo EXTERNAL_URL="http://gitlab.example.com" yum -y install gitlab-ce
给脚本增加执行权限chmod +x gitlab-install.sh
:
[root@gitlab-server module]# chmod +x gitlab-install.sh
[root@gitlab-server module]# ll
总用量 403104
-rw-r--r--. 1 root root 412774002 4 月 7 15:47 gitlab-ce-13.10.2-
ce.0.el7.x86_64.rpm
-rwxr-xr-x. 1 root root 416 4 月 7 15:49 gitlab-install.sh
然后执行该脚本./gitlab-install.sh
,开始安装 gitlab-ce。注意一定要保证服务器可以上网:
[root@gitlab-server module]# ./gitlab-install.sh
警告:/opt/module/gitlab-ce-13.10.2-ce.0.el7.x86_64.rpm: 头 V4
RSA/SHA1 Signature, 密钥 ID f27eab47: NOKEY
准备中... #################################
[100%]
正在升级/安装...
1:gitlab-ce-13.10.2-ce.0.el7
################################# [100%]
。 。 。 。 。 。
3. 初始化GitLab服务
使用命令gitlab-ctl reconfigure
初始化:
[root@gitlab-server module]# gitlab-ctl reconfigure
。 。 。 。 。 。
Running handlers:
Running handlers complete
Chef Client finished, 425/608 resources updated in 03 minutes 08
seconds
gitlab Reconfigured!
4. 启动或停止GitLab服务
执行命令gitlab-ctl start
启动 GitLab 服务,如需停止,执行 gitlab-ctl stop
[root@gitlab-server module]# gitlab-ctl start
ok: run: alertmanager: (pid 6812) 134s
ok: run: gitaly: (pid 6740) 135s
ok: run: gitlab-monitor: (pid 6765) 135s
ok: run: gitlab-workhorse: (pid 6722) 136s
ok: run: logrotate: (pid 5994) 197s
ok: run: nginx: (pid 5930) 203s
ok: run: node-exporter: (pid 6234) 185s
ok: run: postgres-exporter: (pid 6834) 133s
ok: run: postgresql: (pid 5456) 257s
ok: run: prometheus: (pid 6777) 134s
ok: run: redis: (pid 5327) 263s
ok: run: redis-exporter: (pid 6391) 173s
ok: run: sidekiq: (pid 5797) 215s
ok: run: unicorn: (pid 5728) 221s
5. 使用浏览器访问 GitLab
使用主机名或者 IP 地址即可访问 GitLab 服务。若使用域名方式且域名非真实拥有且解析至目标ip的,则需要提前配一下 windows 的 hosts 文件。
GitLab默认的端口号为80
,可以直接使用ip地址或主机名进行访问,若没有关闭防火墙,则需要手动开放80
端口,否则无法访问。
首次登陆之前,需要修改下 GitLab 提供的 root 账户的密码,要求 8 位以上,包含大小写子母和特殊符号。
然后使用修改后的密码登录 GitLab。
三、配置
1. 配置克隆项目路径
通过修改目录/etc/gitlab
中的配置文件gitlab.rb
:
external_url 'http://192.168.234.129:9091'
编辑完成后,重置GitLab配置:
gitlab-ctl reconfigure
此处是因为编写安装脚本时,EXTERNAL_URL
部分使用的标识不正确导致的:
异常的克隆项目路径:
更改后:
2. 配置端口
PS:
- vi模式,快速搜索内容,可以在命令模式下使用`/`后跟搜索内容即可。
- 搜索完成后,可以在命令模式下输入`:noh`取消高亮。
2.1 Web界面访问端口
默认GitLab会占用80
端口,所以我们可能会需要修改GitLab的端口,可以通过修改目录/etc/gitlab
中的配置文件gitlab.rb
,添加/修改如下配置:
nginx['listen_port'] = 9091
但,测试出另一种修改方式:
使用external_url
来指定端口,可以同时更改克隆路径的端口以及web端访问的端口(推荐)。
external_url 'http://192.168.234.129:9091'
注意:方式一仍然可以通过80
端口的url来克隆项目,而方式二则只能通过指定端口克隆,目前觉得方式二更合适一些,测试了公司的GitLab,更符合方式二配置的风格,80
端口不能克隆项目。
2.2 unicorn端口
同时,默认情况下unicorn
会占用8080
端口,所以可能也需要修改此端口,修改目录/etc/gitlab
中的配置文件gitlab.rb
,根据实际情况选择是否更改:
unicorn['port'] = 9092
2.3 SSH端口
默认SSH占用22
端口,修改目录/etc/gitlab
中的配置文件gitlab.rb
,根据实际情况选择是否修改:
gitlab_rails['gitlab_shell_ssh_port'] = 9093
如图:
更新后: