我终于致力于正确地学习软件设计过程,以提高我的技能和发展我的业务.这意味着包含版本控制(git),设置开发阶段生产环境,并保持尽可能类似的配置.
我正在抓住最后一步,选择一个解决方案来自动化并同步我的服务器设置.我看过厨师,木偶面料,但为了我的目的,他们似乎过于复杂.我是:
>在单个服务器上开发一个小型Web应用程序
>将在LAMP环境中开发中间PHP& UNIX技能
>不会严重修改环境变量(主要是PHP.ini,apache配置)
我会感谢任何关于比掌握复杂厨师环境或学习Python来使用Fabric的解决方案的建议.如果有必要,我可以做到这一点,但是我希望有一个更基本/优雅的解决方案,因为我非常简单的需求.
在我工作的公司,我们有或多或少相同的需求,我们只是设置了几个bash脚本.
基本上,它设置了git repo(本地和远程裸机),安装apache2和PHP5(和一些PHP扩展),配置apache的vhost,PHP.ini,安装框架和引导项目,如果需要(对我们来说是symfony).
我们有另一个脚本,它会触发一些EC2实例,运行以前提到的脚本,启动测试套件,并下载这些脚本的报告.
厨师&木偶效果很好,但是有点过分,除非你有很多项目在同一时间运行.
编辑:
如果要在提交/推送之后运行脚本(如部署到分段/预生产服务器,启动持续集成构建等),则可以使用git call hook挂钩来完成此操作,请参阅Deploy a project using Git push