Go init 項目初始化建置
套件名稱 | 介紹 | Link |
---|---|---|
swagger | api文檔生成器 | Github |
Air | 熱編譯神器 | Github |
環境配置 Dockerfile
FROM golang:1.23-alpine3.20
# 指定台灣時區
ENV TZ=Asia/Taipei
# 安裝基本工具
RUN apk add --no-cache \
curl \
tzdata \
&& rm -rf /var/cache/apk/*
# 安裝工具
RUN go install github.com/air-verse/air@latest && \
go install github.com/swaggo/swag/cmd/swag@latest
WORKDIR /app
# 用於gin
EXPOSE 8080
# 默認的啟動命令
CMD ["air", "-c", ".air.toml"]
Go init(如果需要)
go mod init [專案名稱]
go tidy
SHELL RUN
# 建構
docker build -t kgo .
# 運行
docker build -t go-init ./
# 若第一次運行 無啟動 .air.toml
docker run -it --rm -v $(pwd):/app -p 18080:8080 go-init sh
# 啟動
docker run -it --rm -v $(pwd):/app -p 18080:8080 go-init
工具介紹
API文檔案生成器 - Swagger
只要將api上方寫上註解,此時 swag 就會依照 main.go 開始去撈取api註解 變成文檔很方便。
- 根目錄創建一個main.go 並且裡面 只要引入package main即可其餘不用。
# main.go
package main.go
- swag init
會自動創建swag 儲存目錄 並且產生一個配置檔
熱編譯套件 - Air
在開發時 若需要熱更新時 就需要這樣到一個工具,可以在開發時 不用在手動編譯。
- 初始化
運行完air init
會自動創建一個名為.air.toml
的配置文件,而該文件是設定air 設定檔案。
運行 air -c .air.toml
運行後會創建一個暫時文件 而air 會時時監控,若更新代碼則會自動熱更新