一、硬件要求
内存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.rpmsudo yum install -y curl policycoreutils-python openssh-server croniesudo lokkit -s http -s sshsudo yum install -y postfixsudo service postfix startsudo chkconfig postfix oncurl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bashsudo 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: 头 V4RSA/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 completeChef Client finished, 425/608 resources updated in 03 minutes 08secondsgitlab Reconfigured!
4. 启动或停止GitLab服务
执行命令gitlab-ctl start启动 GitLab 服务,如需停止,执行 gitlab-ctl stop
[root@gitlab-server module]# gitlab-ctl startok: run: alertmanager: (pid 6812) 134sok: run: gitaly: (pid 6740) 135sok: run: gitlab-monitor: (pid 6765) 135sok: run: gitlab-workhorse: (pid 6722) 136sok: run: logrotate: (pid 5994) 197sok: run: nginx: (pid 5930) 203sok: run: node-exporter: (pid 6234) 185sok: run: postgres-exporter: (pid 6834) 133sok: run: postgresql: (pid 5456) 257sok: run: prometheus: (pid 6777) 134sok: run: redis: (pid 5327) 263sok: run: redis-exporter: (pid 6391) 173sok: run: sidekiq: (pid 5797) 215sok: 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
如图:
更新后:



