告诉capistrano在配置文件中部署/替换行的修订版

时间:2011-08-15 17:40:10

标签: svn bash capistrano

我在cron作业中有一个bash脚本,它执行trunk的SVN副本并命名为'release-2011-08-15'(例如)。然后,我想将该版本自动部署到我的服务器。

我认为我正在寻找的Capistrano选项是:修订版,但是如何更新deploy.rb文件/告诉Capistrano从我的cron作业bash脚本获取哪个版本?

是否有一种简单的方法可以在配置文件中找到一行,并使用以下内容编辑/替换它?

set :revision, "release-2011-08-15"

非常感谢, MRB

1 个答案:

答案 0 :(得分:0)

首先,使用cron从svn进行自动部署对我来说似乎很危险。但如果您确定这是您想要的,您可以搜索并替换为sed:

 RELDATE="release-2011-08-15"
 SEDCMD="s/^set :revision .*$/set :revision, \"${RELDATE}\"/"
 sed -i ${SEDCMD} <yourconfigfile>

将找到“set revision”行并将其替换为包含日期的“set revision”行。 (我不得不拆分它以在sed命令中使用RELDATE变量。如果你不需要它,你当然可以在一行中执行:

 sed -i "s/^set :revision .*$/set :revision, \"release-2011-08-15\"/" <yourconfigfile>