一套go的项目模板,支持docker,尽可能的减少依赖.
- 直接clone代码
git clone https://github.com/tiyee/gokit.git your_app
- 全局替换
github.com/tiyee/gokit/
,改成你自己的命名空间 - Makefile文件的
SERVICE
变量改成需要的名称 - Dockerfile和docker-compose里的
gokit
字样也需要更改 - 不同的运行平台,对应的Makefile里的
GOOS
环境变量也要改。 - Dockerfile里的
alpine
镜像地址是阿里云的镜像源,请根据实际情况修改
请自行更改 pkg/consts
文件夹里文件内容,配置文件最好做成独立的文件配置化。
可以自行执行docker命令打包并上传,也可以利用代码仓库自带的pipeline或action自动触发打包或上传。
部署的时候,只需要执行两步
sudo docker-compose -f docker-compose.acr.yml pull
sudo docker-compose -f docker-compose.acr.yml up -d
较新版本的docker,可以用
docker compose
命令组合来代替docker-compose
- 尽可能减少依赖
- 白名单原则
- 只保留唯一且简洁的实现
目前内置了log,cache,redis,iden,orm,jwt,mysql
组件,其中log,redis,mysql,cache
需要再项目启动的时候初始化才能使用。
- 可以参考
cmd/log_gen/main.go
,在项目根目录执行go run cms/log_gen/main.log
即可生成包装了zap的log
自带了一个微信公众平台的echo服务,和一个分片上传oss的例子。
- 2023-05-26 v2.0.0版本将
http server
由fasthttp
改回go自带的http server
模块