# gin-scaffold **Repository Path**: joil-z/gin-scaffold ## Basic Information - **Project Name**: gin-scaffold - **Description**: gin的脚手架 集成了:zap日志库、viper配置管理、CORS、Gorm、Redis - **Primary Language**: Go - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2023-01-04 - **Last Updated**: 2023-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gin-scaffold #### 介绍 gin的脚手架。集成了:zap日志库、viper配置管理、CORS、Gorm、Redis #### 安装教程 1. 拉取项目 ```bash git clone https://gitee.com/joil-z/gin-scaffold.git ``` #### 使用说明 1. 更新依赖、拉取模块 ```bash cd gin-scaffold go mod tidy ``` 2. 修改配置文件。 3. 设置配置文件路径,默认读取`./conf/config.yaml`。 - 可以在环境变量中设置`PROFILE_PATH`(此方式优先级最高)。例如`PROFILE_PATH=./conf_online/config.yaml`。 - 也可以在运行程序的末尾加上`-profile_path=`。例如:`go run main.go -profile_path=./conf_online/config.yaml`。 4. 启动 - 直接运行 ```bash cd gin-scaffold go run main.go ``` - 编译后运行 - Windows ```bash cd gin-scaffold go build gin-scaffold.exe [-profile_path=] ``` - Mac/Linux ```bash cd gin-scaffold go build ./gin-scaffold [-profile_path=] ``` - 使用Docker运行 注意:配置文件的port必须和Dockerfile中的`EXPOSE`保持一致。 1. 构建镜像 ```bash cd gin-scaffold docker build -t gin-scaffold . ``` 2. 运行 ```bash docker run --name gin-scaffold -p 8080:8080 -d gin-scaffold ``` 3. 停止 ```bash docker stop gin-scaffold ``` 4. 删除 ```bash docker rm gin-scaffold ``` ```bash docker rmi gin-scaffold ``` 5. 访问 PS:在`./router/router.go`中定义了`apiGroup`因此是这样的url。 ```bash curl localhost:8080/api/v1/ping # pong ``` #### 配置文件示例 ./conf/config.yaml ```yaml name: myapp mode: debug version: v1 port: 8080 log: level: debug filename: ./log/myapp.log max_size: 400 max_age: 30 max_backups: 15 mysql: host: 192.168.1.2 port: 13306 user: root password: 123456 db: db1 max_open_conns: 100 max_idle_conns: 20 redis: host: 192.168.1.2 port: 16379 password: 123456 db: 0 pool_size: 100 min_idle_conns: 20 cors: allow_headers: - authorization expose_headers: - authorization ``` ./conf_online/config.yaml ```yaml name: myapp mode: release version: v1 port: 8080 log: level: info filename: ./log/myapp.log max_size: 400 max_age: 30 max_backups: 15 mysql: host: 192.168.1.2 port: 13306 user: root password: 123456 db: db1 max_open_conns: 100 max_idle_conns: 20 redis: host: 192.168.1.2 port: 16379 password: 123456 db: 0 pool_size: 100 min_idle_conns: 20 cors: allow_headers: - authorization expose_headers: - authorization # 如果不配置,则默认允许所有域的请求 allow_origins: - http://127.0.0.1 ```