golang打包后有些配置会随着部署环境的变化而变化,例如:redis、mysql等,为了不用反复改配置,应该在每一个环境中设置一个env文件,让打包后的程序自己去读取。
首先安装依赖
go get github.com/joho/godotenv
安装好之后在main方法中初始化一下
package main
import (
"log"
"os"
"github.com/joho/godotenv"
)
func main() {
err := godotenv.Load() //初始化env读取
if err != nil {
log.Fatal("Error loading .env file")
}
s3Bucket := os.Getenv("S3_BUCKET")
secretKey := os.Getenv("SECRET_KEY")
// now do something with s3 or whatever
}
然后在项目根目录创建.env文件
#项目运行端口
PORT=8080
#redis密码
RPASS=
#redis端口
RPORT=6379
最后在redis、mysql等配置文件中修改配置即可
os.Getenv("PORT") //读取项目运行端口