基础
-
会git的基本操作
-
会docker和docker-compose的基本操作
基于gitlab的docker镜像安装内网git仓库
1、这里docker-compose管理安装
然后在当前目录运行docker-compose up,执行时间可能会有点久,请耐性等待。 当执行到开始写日志的时候,就证明本地的gitlab安装成功了。如下图:
2、访问127.0.0.1:8686测试
内网穿透frp
1、在frp的release找到相应系统的压缩包,里面包含服务端frps和客户端frpc
-
mac系统下载frp_0.27.1_darwin_amd64.tar.gz
-
linux系统下载frp_0.27.1_linux_amd64.tar.gz
2、下载包
- 我在内网用的是mac测试,所以用了frp_0.27.1_darwin_amd64.tar.gz这个包, 外网用linux的frp_0.27.1_linux_amd64.tar.gz。
3、配置
- 本地客户端frpc配置
[common]
server_addr = *.*.*.* #填写自己的外网服务器的ip
server_port = 7000
[web]
type = http
local_port = 8686
custom_domains = gitlab.chunpat.cn
- 外网frps配置
[common]
bind_port = 7000
vhost_http_port = 8080
subdomain_host = gitlab.chunpat.cn
4、启动
- client端启动
./frpc -c ./frpc.ini
- server端启动
./frps -c ./frps.ini
外网域名配置与测试
1、做域名解析,腾讯云云服务器如下配置
2、域名http://gitlab.chunpat.cn:8080访问测试
外网域名访问优化–nginx转发
server{
listen 80;
server_name gitlab.chunpat.cn;
root /var/www/html/goShares/public; # 该项要修改为你准备存放相关网页的路径
#access_log /dev/null;
#access_log /var/log/nginx/nginx.localhost.access.log main;
error_log /var/log/nginx/wx.chunpat.cn.log warn;
location / {
#resolver 127.0.0.1; #通过配置/etc/dnsmasq.conf,本地解析域名
proxy_ssl_server_name on;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_pass http://gitlab.chunpat.cn:8080; #通过域名访问frp服务
}
location = /favicon.ico {
log_not_found off;
access_log off;
}
}
效果图如下:
其他优化Q&A
Q:本地服务器是宝塔搭建的,已经有nginx环境。不用gitlab的docker镜像安装,用一键安装方法,又会帮你弄一个nginx环境,起冲突。该怎么办?
A:一键安装可以选择是否安装nginx,然后参考gitlab的nginx的转发。
Q:本地开发与公司内部git仓库交流不用翻到外网再到公司内网,直接与内网地址连接,怎么做?
A:上面本地docker-compose搭建的环境,将映射出去的8686端口改为80,映射出来的config配置文件下有gitlab.rb,修改如下配置项并改公司路由器的host:
# For HTTP
external_url "http://gitlab.example.com:8929"
or
# For HTTPS (notice the https)
external_url "https://gitlab.example.com:8929"
Q:不用gitlab自带的nginx转发,用宝塔的nginx转发报502。
https://stackoverflow.com/questions/35327882/what-permissions-does-nginx-need-for-the-gitlab-workhorse-socket
参考
本作品采用CC BY-NC-ND 4.0进行许可。转载,请注明原作者 chunpat 及本文源链接。