从git repo自动化环境设置/更新的最佳方法?

时间:2016-05-11 07:32:02

标签: php mysql git ant continuous-integration

我有以下设置:具有LAMP设置的本地debian maschine。现在我需要使用一个PHP项目,该项目通过git(或特殊的GitLab)进行管理。

如果我(或其他开发人员)加入该项目,我必须做几个想法:

  • 创建MySQL数据库
  • 导入MySQL架构
  • 为Apache创建vHost
  • ...

如果我在一段时间不活动后更新项目,我必须更新几个想法:

  • MySQL架构中的更改
  • 插入/更新/删除记录
  • ...

这必须由每个开发人员完成。现在我搜索一个解决方案来自动化这个工作流程。我曾经考虑过Apache Ant,我认为该工具可以创建一个解决方案。

在Ant文件中,我可以为数据库,vhost和其他东西创建工作流。另外我需要一个工具来管理MySQL迁移(Phinx可能吗?)。我也可以通过Ant触发此工具,因此我可以在结帐过程中/之后自动执行MySQL更新。

但这个完整的想法是由我自己创造的。我没有这种过程的经验。如果您没有任何经验,那么很难找到这个主题,因为我发现了很多关于持续集成,持续交付,不同工具的主题和方面,因此我无法区分与我的需求相关的内容。

不幸的是,我需要帮助和建议,为我的案例找到正确/最好的方法。

PS:对不起任何语法错误。英语不是我的母语。

1 个答案:

答案 0 :(得分:0)

管理本地开发环境的方法之一,最近越来越受欢迎,是通过虚拟机或容器使用某种虚拟化VagrantDocker是两种最受欢迎​​的解决方案。通常它们会附带供应商工具,例如AnsibleChef。我们的想法是,您需要在实际状态下维护开发环境的图像(或多个图像)。新手需要安装相同的工具并引导环境。 Dig the internetfind more

如果您以这种方式对数据库进行容器化和版本化,那么您根本不需要任何迁移工具(希望如此):您选择的工具将按设计处理版本。但您仍可以免费使用Phinx或其他解决方案,例如LiquibaseFlyWay。这种情况下的迁移可以使用Git进行版本控制,在主代码库旁边。