使用Capistrano在部署时修改文件

时间:2014-01-08 14:51:08

标签: php deployment capistrano web-deployment

我有一个PHP项目,使用Capistrano 3部署到登台/测试/现场,一切正常。

现在我们遇到了PHPComposer中包含的一个依赖项中的错误,它实际上是一个简单的修复(更改一行),我们在开发框的供应商目录中手动修复,直到错误修复为止通过我们的拉动请求。但每次部署所有依赖项时,都会再次在部署目标服务器上安装,包括错误的依赖项。在我们手动ssh到服务器并更改特定文件中的那一行后,部署成功。

我如何使用capistrano实现自动化?有没有经过验证的方法呢?

1 个答案:

答案 0 :(得分:1)

我怀疑“正式”解决方案是在你的修补程序到位时拆分repo,然后为新repo添加别名,设置你的composer.json在你等待修复时优先使用它合并上游。

Composer网站上有一些详细信息 - require-inline-alias

能够进行内联别名的composer.json配置是:

"repositories": [
    {
        "type": "vcs",
        "url": "https://github.com/you/monolog"
    }
],
"require": {
    "symfony/monolog-bundle": "2.0",
    "monolog/monolog": "dev-bugfix as 1.0.x-dev"
}

这将从您的GitHub获取monolog / monolog的dev-bugfix版本,并将其别名为1.0.x-dev。