我对DevOps很新。试图组织我的项目进行持续集成(CI),我遇到了一个问题,我还没有找到解决方案。我想知道在我的设置中管理我的数据库文件的最佳方法是什么,以便开发人员和Jenkins可以访问最新版本的DB。
在各种主题中已经触及了类似的问题,例如下面的内容。但是没有人回答我的具体情况。
设置
以下是我的设置:
我已经设置了CI,每当我更新origin / master时,Jenkins都会在AWS机器上运行测试。
修改 为了澄清我的数据库是什么,假设它是某种日常销售数字或每日市场更新。我有一个代码每天更新一次数据库,另一个程序在其上执行某种数据分析。
问题
我不关心数据库的版本控制。换句话说,我不在乎两天前我的数据库是什么。但是,由于我的数据库每天都会更新,我希望不同的开发系统以及Jenkins每次运行测试时都能访问最新的。从我到目前为止所读到的,将数据库包含在我的Git存储库中并不是一个好习惯(我不想这样做,因为我不关心跟踪它的变化)。所以问题是我应该如何存储我的数据库并将其集成到我的项目中?
有些人建议使用Dropbox或其他工具随处访问数据库。这是最好的方法吗?如果是的话,究竟应该在Dropbox上保留什么?实际数据库(* .db)文件和文件夹?在MySQL中,它们集中存放在MySQL的/ data /文件夹中,我不知道如何将它们存储在另一个文件夹中,例如Dropbox。
其他人建议保留数据库的转储。这个过程应该是什么?在每日更改数据库后生成转储并将.txt转储文件保留在Dropbox上? Jenkins每次都会如何从这些转储文件重新创建数据库?
答案 0 :(得分:0)
我不会移动实际数据。如果可能,并且只要它满足您的安全需求,我只需要从您正在进行开发或测试的任何地方访问您的MySQL服务器,然后修改连接字符串以指向该服务器。