Install Docker Engine on Debian | Docker Documentation
2.安装gitlabGitLab Docker images | GitLab
如果内网IP地址为 192.168.0.2
--hostname gitlab.example.com # 改为内网地址 例如:192.168.0.2
3. 修改配置
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
4.创建证书
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 #重启容器
5.windows 安装证书
scp root@192.168.0.2:/home/gitlab/config/ssl/192.168.0.2.crt D:\a.cer#CMD命令行下载证书到windows
把它导入到"受信任的根证书颁发机构"中
6.配置gitlabdocker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password #获取gitlab管理员root的密码
可访问性与控制中修改URL
7.Golang 项目使用示例创建新用户 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\golanguser2.168.0.2
cd %GOPATH%\src\golanguser2.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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)