Stp*_*tpn 2 deployment capistrano ruby-on-rails
我有一个rails应用程序,它使用一些bash脚本,它们具有不同的值(路径),用于开发和生产.我想使用capistrano使用适合生产的值来部署应用程序.例如在#{Rails.root} +'script.sh'中:
#!/bin/bash
/usr/local/bin/convert -colorspace sRGB -background transparent -font Myriad-Pro-Condensed -fill grey0 -stroke yellow -strokewidth 2 -size 640x480 -gravity $3 label:"$2" $1.png
Run Code Online (Sandbox Code Playgroud)
对于生产我将需要:
#!/bin/bash
/usr/bin/convert -colorspace sRGB -background transparent -font Myriad-Pro-Condensed -fill grey0 -stroke yellow -strokewidth 2 -size 640x480 -gravity $3 label:"$2" $1.png
Run Code Online (Sandbox Code Playgroud)
是否有一个解决方案涉及动态更改文件,同时部署(使用一些gsub命令,更改值)?
小智 5
ERB模板可能是最直接的.在模板内部,您可以访问所有Capistrano变量,这样您就可以知道您处于哪个阶段,等等.上限代码看起来像这样:
template = File.read(File.join(File.dirname(__FILE__), "templates/script.sh.erb"))
result = ERB.new(template).result(binding)
put result, "#{release_path}/script.sh"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
728 次 |
| 最近记录: |