我在cron作业中有一个bash脚本,它执行trunk的SVN副本并命名为'release-2011-08-15'(例如)。然后,我想将该版本自动部署到我的服务器。
我认为我正在寻找的Capistrano选项是:修订版,但是如何更新deploy.rb文件/告诉Capistrano从我的cron作业bash脚本获取哪个版本?
是否有一种简单的方法可以在配置文件中找到一行,并使用以下内容编辑/替换它?
set :revision, "release-2011-08-15"
非常感谢, MRB
答案 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>