我们使用的是Git,和往常一样,我们的工作流程是开发>试运行>生产。
该项目有几个配置文件。在开发期间,配置指向开发数据库。但是,在开发更改之后,我已经准备好部署,配置将需要更改并指向生产数据库。
在下一轮更改期间,我将需要再次更改配置以指向开发数据库。
然后这个循环不断重复,而且很乏味,因为我有3个配置文件(我最多能做2个,因为一个配置文件是针对一个特定库的)。
有没有更好的方法来做这件事?
发布于 2017-03-17 22:00:12
我假设您的配置文件包含数据库信息,如主机、用户名、密码...
解决这个问题的一个好方法是将数据库信息存储到环境变量中,并将它们放入配置文件中。
例如,在开发、暂存和生产中,数据库主机将存储在名为DATABASE_HOST的环境变量中。在配置文件中,您会有下面这一行(php代码)
$databaseHost = getenv('DATABASE_HOST');
// ...正如@Lasse V.Karlsen所说,模板应该被git跟踪,配置文件本身应该被git忽略。这样,开发人员不必创建环境变量,他们必须从模板创建配置文件(当然是忽略git),并设置他们的数据库信息(为什么不创建依赖于服务器、环境的其他信息……)
因此,总而言之,应该忽略配置文件,而应该创建一个模板。部署时,将根据模板创建配置文件。新的配置文件将获得所需的环境变量。但是,开发人员可以在本地创建这些环境变量,也可以修改其配置文件的值。
https://stackoverflow.com/questions/42857512
复制相似问题