【发布时间】:2011-12-12 19:15:18
【问题描述】:
我正在尝试将版本号从命令行传递给我的 Capistrano cap 部署脚本。我的版本号并不是真正的数字或浮点数,它们是我传入的字符串。
在我的具体情况下,我正在部署我的应用程序的 7.10 版本,但是当我将该字符串传递给我的 cap 命令时,Capfile 会自动将其转换为 7.1。我实际上有另一个实际调用 cap 命令的脚本。执行的 cap 命令类似于:
cap -f /path/to/Capfile -S domain=dev.example.com -S ssh_port=22 -S mysql_pass= -S sitename=example.com -S dbname=example-com -S drupalversion="7.10" deploy
问题是drupalversion 变量作为7.1 进入Capfile ruby 脚本。如何保留我传入的值的字符串值?
【问题讨论】:
-
这是一种 hack,但我为避免这种情况所做的一件事是添加一个字符串字符作为版本号的第一个字符,然后从字符串末尾的第二个字符。
set :drupal_version, drupalversion[1,5] if exists?(:drupalversion)
标签: ruby capistrano