最新的树莓派4B最大支持8G内存,相对于树莓派派3的2G内存,已经足够gitlab的运行。安装搭建gitlab的环境可以使用源码编译,或参考官网上的安装步骤。但最方便的还是使用docker进行安装。官方的docker镜像没有ARM64的镜像,但提供了一个非官方的链接,使用其提供的镜像可以方便的安装gitlab。
安装方法
1.安装docker镜镜像
相应的安装方法网上很多,不进行累述。
2.pull gitlab镜像
镜像的网页地址https://registry.hub.docker.com/r/yrzr/gitlab-ce-arm64v8
pull命名
docker pull yrzr/gitlab-ce-arm64v8
如果是需要pull特定版本,例如导入gitlab的备份(gitlab对于备份还原有着严格的版本限制) 可以使用如下命令
docker pull yrzr/gitlab-ce-arm64v8:13.12.1-ce.0
3.运行run命令
镜像网页上提供了一个demo run,可以参考后根据自己的需要修改。我使用的如下:
docker run \
--name=gitlab \
--hostname=272a7bb4269c \
--env=PATH=/opt/gitlab/embedded/bin:/opt/gitlab/bin:/assets:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin \
--env=LANG=C.UTF-8 \
--env=TERM=xterm \
--volume=/srv/gitlab/config:/etc/gitlab \
--volume=/srv/gitlab/logs:/var/log/gitlab \
--volume=/srv/gitlab/data:/var/opt/gitlab \
--volume=/etc/gitlab \
--volume=/var/log/gitlab \
--volume=/var/opt/gitlab \
-p 2222:22 \
-p 22443:443 \
-p 2280:80 \
--restart=always \
--detach=true \
yrzr/gitlab-ce-arm64v8:13.12.1-ce.0 \
/assets/wrapper
简单说明一下:
–name : 服务名称一般都是gitlab
–hostname : 可以根据实际填写,也可以运行后在gitlab的config里修改 我就是这样操作的
–volume : 设置了config logs 和 data 对于与本地硬盘的映射。
–p : 设置端口映射
4.参看运行后运行如下命令,看一下是否成功
docker ps
输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9b11da00c664 yrzr/gitlab-ce-arm64v8:13.12.1-ce.0 "/assets/wrapper" 8 days ago Up 8 days (healthy) 0.0.0.0:2222->22/tcp, :::2222->22/tcp, 0.0.0.0:2280->80/tcp, :::2280->80/tcp, 0.0.0.0:22443->443/tcp, :::22443->443/tcp gitlab
一些简单的设置:
这里介绍一下https的代理设置。由于国内家用的网络不开放43端口。如果想外网https访问自己搭建的gitlab服务器一个比较省钱的方案可以这样做。
1.申请一个域名。没啥要求,怎么便宜怎么来
2.购买一个配置不需要很高,基本就是最低配置的服务器。在上面搭建nginx。使用let’s encrypt 获取 安装 https证书。免费,就是要每3个月申请一次,有方法自动更新,官网安装教程上有说明。
3.配置自己家路由的动态域名和端口转发。动态域名用花生壳好了。
4.配置服务器nginx 反向代理到自己家路由。配置方法可以参考如下:
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
set $servers xxxxxx.xxxxx.xxx;
proxy_pass http://$servers:10000;
client_max_body_size 500m;
}
5.配置gitlab
配置文件位置 /srv/gitlab/config/gitlab.rb
需要修改的地方
external_url 'https://xxxx.xxxxx.xxx' #改成服务器的地址
nginx['listen_https'] = false #由于external_url 不设置false gitlab会启动默认的https,导致启不来
配置更改后需要在容器内运行
gitlab-ctl reconfigure
gitlab-ctl restart
配置好后就可以使用https进行访问了。如果想更安全一点,可以在树莓派上设置gitlab只允许从服务器来的链接。