我正在寻找厨师来自动化Magento部署-既可以进入标准Magento托管选项,也可以进入EC2等环境。我到处搜索,看到很多食谱,但没有一个能真正使我感到经典。是否有一个特定的厨师脚本会更好/最好?另外,如果您以前使用PHP完成过厨师部署,那么刚开始时希望知道的一件事是什么?
我正在寻找厨师来自动化Magento部署-既可以进入标准Magento托管选项,也可以进入EC2等环境。我到处搜索,看到很多食谱,但没有一个能真正使我感到经典。是否有一个特定的厨师脚本会更好/最好?另外,如果您以前使用PHP完成过厨师部署,那么刚开始时希望知道的一件事是什么?
Answers:
一套适合所有情况的例程几乎是不可能的。我已经成功编写了一个Bash脚本,该脚本chef-client
在所提供的主机列表上执行运行knife search
。程序看起来像这样……
$branch
n98-magerun.phar
n98-magerun.phar
$revision
为新版本资料来源:https : //gist.github.com/parhamr/6177160#file-2-deployment
这就是我想成为sysadmin / devops角色时进入该领域的方式。以下大多数内容只是我尝试遵循的一般原则,而不是特定于Chef的。
我最终选择了Puppet,因为我发现当时有更多的资源,并且觉得自己更容易上手。
我查看了可用于apache,php5等的各种预构建模块。其中许多模块似乎做得比我需要的更多,而且对平台如此陌生,我不相信发生了什么。我认为,确定每种节点类型所需要做的事情对我来说将变得更加简单。
我通过提供团队的本地开发环境(vargrant +虚拟盒子)开始了该过程。对于每个服务/组件,我创建了一个模块:php5,apache2,redis,mysql等。
开发环境稳定/可以正常工作后,我便开始构建质量检查环境。我为Web服务器,redis,清漆等定义了通用节点类型,它们重用了与dev相同的模块。完成此操作后,只需进行最少的更改即可启动和运行。
在阅读和编写配方/模板时,您应该考虑如何重用/通用化。不要硬编码可能在发行版/项目/环境之间更改的路径或用户/组之类的东西。由于您正在寻找一种通用方法,因此我猜想将很难解决* nix分布之间的差异。
最重要的是,保持简单。自动化/标准化环境中最重要/最耗时的部分。迭代,发展。