赞
踩
Install Docker Engine on Debian | Docker Documentation
1.将SSH的默认端口22,修改为其他端口.因为GitLab需要用到22端口
- vim /etc/nginx/nginx.conf #!!!!注意,这里不是/etc/nginx/conf.d/default.conf
-
- #添加如下代码
- stream {
- upstream stream_backend {
- server 192.168.0.2:22;
- }
- server {
- listen 22;
- proxy_pass stream_backend;
- }
- }
如果内网IP地址为 192.168.0.2
--hostname gitlab.example.com # 改为内网地址 例如:192.168.0.2
vim /home/gitlab/config/gitlab.rb
- external_url 'https://192.168.0.2'
- nginx['redirect_http_to_https'] = true
- nginx['ssl_certificate'] = "/etc/gitlab/ssl/192.168.0.2.crt" #别管有没有,先配置
- nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/192.168.0.2.key" #别管有没有,先配置
-
-
- gitlab_rails['time_zone'] = 'Asia/Shanghai'
- sidekiq['concurrency'] = 8
- postgresql['shared_buffers'] = "128MB"
- postgresql['max_worker_processes'] = 4
- prometheus_monitoring['enable'] = false
vim /home/gitlab/config/ssl/generate_crt.sh #编写生成证书脚本
- #!/bin/sh
- # 创建证书:
- read -p "输入你的内网地址: " DOMAIN
- SUBJECT="/C=ZH/ST=Home/L=$DOMAIN/O=$DOMAIN/OU=$DOMAIN/CN=$DOMAIN"
- openssl req -subj $SUBJECT -sha256 -newkey rsa:2048 -nodes -keyout $DOMAIN.key -x509 -days 3650 -out $DOMAIN.crt -config ./openssl.cnf -extensions v3_req
- docker cp gitlab:/usr/lib/ssl/openssl.cnf openssl.cnf //复制容器的默认配置
- vim openssl.cnf #修改配置
- req_extensions = v3_req #把这个配置打开
-
- [ v3_req ]
-
-
- # Extensions to add to a certificate request
-
- basicConstraints = CA:FALSE
- keyUsage = nonRepudiation, digitalSignature, keyEncipherment
- subjectAltName = @alt_names # 添加一行配置
-
- [ alt_names ]# 添加一行配置
- IP.1 = 192.168.0.2 # 添加一行配置
- #DNS.1 = a.com #如果是内网,没有域名的,不能添加DNS.否则证书出错
- chmod 775 ./generate_crt.sh #给权限
- ./generate_crt.sh #生成证书
docker restart gitlab #重启容器
- scp -P23 root@192.168.0.2:/home/gitlab/config/ssl/192.168.0.2.crt D:\a.cer#CMD命令行下载证书到windows
- // 不检查证书
- git config --global http.sslVerify false
- //生成密匙
- ssh-keygen -t rsa
- // 把id_rsa.pub 的内容复制到gitlab
-
- // 登记一次密匙
- ssh root@192.168.0.2
把它导入到"受信任的根证书颁发机构"中
docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password #获取gitlab管理员root的密码
可访问性与控制中修改URL
创建新用户 golanguser=>使用新用户登录gitlab=>新用户创建两个新项目: test1/test2
Widows配置环境变量
- # 运行CMD命令 , 配置环境变量
- setx CGO_ENABLED 1
- setx GOOS windows
- setx GOARCH amd64
- setx CC gcc
- setx GOPATH D:\DevManager #我这里是这个位置
- setx GOPROXY https://goproxy.cn,direct #使用代理
- setx GO111MODULE on
- setx GOINSECURE 192.168.0.2#指定不检查证书的地址
- setx GOPRIVATE 192.168.0.2 #指定不使用代理的地址
- setx GOROOT D:\go #我这里是这个位置
- # 运行CMD命令,下拉test项目
- mkdir %GOPATH%\src\golanguser\192.168.0.2
- cd %GOPATH%\src\golanguser\192.168.0.2
- D: #切换到D盘,我这里是D盘
- git clone https://192.168.0.2/golanguser/test1.git
- git clone https://192.168.0.2/golanguser/test2.git
- //在test1文件夹中,新建test1.go文件
- package test1
-
- import (
- "fmt"
- )
-
-
- //首字母要大写
- func Hello(){
- fmt.Println("我是测试1")
- }
- //在test2项目文件夹中,创建一个test2.go文件
- package test2
- import(
- "192.168.0.2/golanguser/test1" #这里不会走代理
- "fmt"
- "github.com/dodoao/gt" #这里会走代理
- )
-
- func test2(){
- test1.Hello()
- fmt.Println(gt.Get_current_directory())
- }
- #运行CMD命令,初始化
- cd %GOPATH%/src/192.168.0.2/golanguser/test1 #
- D: #切换到D盘,我这里是D盘
- go mod init
- go get -d -v ./... #循环下载所有依赖
- cd %GOPATH%/src/192.168.0.2/golanguser/test2 #
- D: #切换到D盘,我这里是D盘
- go mod init
- go get -d -v ./... #循环下载所有依赖,只要这里成功完成了,就成功了
基本用法
git clone https://username:password@192.168.248.161/xiaomeing/dba.git
如果使用局域网,可以修改成如下:
Windows客户端改hosts文件,Debian 端也需要修改hosts文件指定域名解析
- server {
- listen 443 ssl;
- server_name gitlab.dodo.com;
- ssl on;
- ssl_certificate /etc/nginx/cert/gitlab.dodo.com.crt;
- ssl_certificate_key /etc/nginx/cert/gitlab.dodo.com.key;
- ssl_session_timeout 5m;
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
- ssl_prefer_server_ciphers on;
- location / {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass https://172.19.12.3; # 这里设置你要代理的ip+端口
- add_header Access-Control-Allow-Origin *;#根据自己需求设置
-
- }
- client_max_body_size 50m;
- types_hash_max_size 2048;
- }
-
- server {
- listen 80;
- server_name gitlab.dodo.com; # 把域名替换成你自己的,第二个网站
- location / {
- proxy_redirect off;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://172.19.12.3:80; # 这里设置你要代理的ip+端口
- add_header Access-Control-Allow-Origin *;#根据自己需求设置
- }
-
- client_max_body_size 50m;
- types_hash_max_size 2048;
-
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。