go项目搭建与部署

参考文章:

开发环境搭建(Windows10)

安装goland

下载链接:其他版本 - GoLand (jetbrains.com)

安装git环境

下载链接:Git - Downloading Package (git-scm.com)

1
2
3
# 控制台检查git是否安装成功
D:\Go\WorkSpace> git version
git version 2.36.1.windows.1

如果想要禁用或忽略 SSL 证书验证

1
2
# 禁用或忽略SSL证书验证
git config --global http.sslVerify false

go环境搭建

打开goland,点击所有设置,选择GOROOT安装go

1
2
3
# 控制台检查go是否安装成功
D:\Go\WorkSpace> go version
go version go1.21.2 windows/amd64

设置go代理

1
2
3
4
5
6
7
8
9
10
11
12
13
# 查看go环境配置
D:\Go\WorkSpace> go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
......
set GOPROXY=https://goproxy.cn,direct
......

# 设置go代理
go env -w GOPROXY=https://goproxy.cn,direct
# 或者
go env -w GOPROXY=https://goproxy.io,direct

go项目

go管理依赖

1
2
3
4
5
# go拉取依赖
go mod tidy

# go清除mod缓存
go clean -modcache

go打包

1
2
3
4
5
6
7
8
9
# cd到main目录

# Windows环境
go build

# Linux环境
SET GOOS=linux
SET GOARCH=amd64
go build

docker部署

Dockerfile编写

编写Dockerfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 拉取基础镜像
FROM golang:alpine
# 作者
MAINTAINER zhb <zhuhebin0928@163.com>
# 添加打包后的程序
ADD router router
# 配置文件(没有可以不添加)
ADD config/ config/
# 开发端口
EXPOSE 8090
# 赋予程序执行权限
RUN chmod +x router
# 容器启动后执行的命令
ENTRYPOINT ["./router"]

用Dockerfile构建镜像

1
2
# 用Dockerfile构建镜像
docker build -t mytest .

docker-compose文件编写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: "3"
services:
nginx:
image: nginx:latest
restart: always
container_name: nginx
network_mode: "host"
volumes:
- /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /data/:/data/
mytest:
image: mytest:latest
restart: always
container_name: mytest
network_mode: "host"
ports:
- 8090:8090
volumes:
- /data/go/config:/go/config