【问题标题】:Tell capistrano which revision to deploy/replace line in config file告诉 capistrano 在配置文件中部署/替换哪个版本
【发布时间】:2011-08-15 17:40:09
【问题描述】:

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

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

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

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

非常感谢, B先生

【问题讨论】:

    标签: svn bash capistrano


    【解决方案1】:

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

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

    这将找到一个“设置修订”行并将其替换为包含日期的“设置修订”行。 (我不得不拆分它以使用 sed 命令中的 RELDATE 变量。如果您不需要它,您当然可以在一行中完成:

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

    【讨论】:

    • 这是一个登台服务器,用于测试每周发布。我们手动部署到生产环境。
    猜你喜欢
    • 1970-01-01
    • 2018-05-16
    • 2011-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-12
    • 1970-01-01
    相关资源
    最近更新 更多