如何在构建中使用不同的配置文件?
how to use different config files on build?
我有一个用于我的 go 程序的配置文件,很明显当我 运行 在本地和在我的服务器上时它有不同的值。
我的老板最近要求我切换部署方法,以便我 运行 在本地“构建”,然后部署该构建。因此,每次构建时我都需要切换全局配置文件。
不幸的是,我的记忆力太差了,我几乎肯定会忘记将这些文件切换出去。如果有办法(可能在构建脚本文件或任何东西中)在构建时使用不同的配置文件,而不是像我通常那样 运行ning "go 运行 main.go"当我在本地从事开发工作时做。
这里有人有任何想法或最佳做法吗?
注意:我已经 gitignore 这个文件了,但是由于构建 if 基本上将整个程序(包括这些设置变量)固化到一个文件中,所以在服务器上只拥有另一个文件是不行的。
谢谢大家!
这是一个例子:
config.go
//go:build !live
// Add your local config here
config_live.go
//go:build live
// Add your server config here
使用go build
构建本地版本。使用go build -tags live
构建服务器版本。
我有一个用于我的 go 程序的配置文件,很明显当我 运行 在本地和在我的服务器上时它有不同的值。
我的老板最近要求我切换部署方法,以便我 运行 在本地“构建”,然后部署该构建。因此,每次构建时我都需要切换全局配置文件。
不幸的是,我的记忆力太差了,我几乎肯定会忘记将这些文件切换出去。如果有办法(可能在构建脚本文件或任何东西中)在构建时使用不同的配置文件,而不是像我通常那样 运行ning "go 运行 main.go"当我在本地从事开发工作时做。
这里有人有任何想法或最佳做法吗?
注意:我已经 gitignore 这个文件了,但是由于构建 if 基本上将整个程序(包括这些设置变量)固化到一个文件中,所以在服务器上只拥有另一个文件是不行的。
谢谢大家!
这是一个例子:
config.go
//go:build !live
// Add your local config here
config_live.go
//go:build live
// Add your server config here
使用go build
构建本地版本。使用go build -tags live
构建服务器版本。