我想进入与Capistrano的PHP应用程序部署。我有两个配置文件,需要根据部署位置进行“编辑”。这是基本的东西,如数据库名称和根URL(Codeigniter)。我可以自动指定Capistrano编辑吗?比方说,我想编辑的文件/system/config/edit.php如下:部署与Capistrano
$test = '';
// edit to
$test = 'Hello World';
感谢, 最大
我想进入与Capistrano的PHP应用程序部署。我有两个配置文件,需要根据部署位置进行“编辑”。这是基本的东西,如数据库名称和根URL(Codeigniter)。我可以自动指定Capistrano编辑吗?比方说,我想编辑的文件/system/config/edit.php如下:部署与Capistrano
$test = '';
// edit to
$test = 'Hello World';
感谢, 最大
我的Unix是知识不够完美,所以我不能完全得到你想要的语法。但是,Capistrano允许您通过在您的配置中调用:run_method来直接使用Unix命令行。
Capistrano酒店代码可能类似于以下内容:
run "grep -R --files-with-matches '$test = "";' /system/config/ | xargs perl -pi~ -e 's/\$test = "";/$test = "Hello World";/'"
我会检查了在实现它生活虽然之前预期的工作是查找和替换功能。
如果您需要任何帮助,我建议您查看Capistrano Handbook,它应该回答您的大部分问题。
我通常做这种情况(即使我不不使用Capistrano)是有几个配置文件提交到源代码管理。
例如:
config.php
发展机
config.testing.php
config.staging.php
和部署应用程序到服务器时,我只需要复制对应于当前的环境,“config.php
”的文件 - 这一个是总是使用的应用程序之一。
这意味着我必须在生成过程中做一个文件副本,没错,但是:
如果你的配置文件变得过于复杂和重复升你可以考虑拥有一个“默认”配置文件,这个配置文件总是包含在内,而子配置文件只是定义了什么取决于环境。
那是什么,我之前说的仍然是:只要在对方开始时包含“默认”文件即可。
如果有查找字符串解决方案,我更喜欢它寻找线解决方案! – mistero 2009-09-20 16:24:00