我在Jenkins中使用字符串参数DEPLOYMENT_ADDRESS配置参数化作业 - 默认值为some / path / $ {SVN_REVISION}。
SVN_REVISION是Jenkins中shell脚本可用的环境变量。
当我调用ruby脚本
时ruby file_generator.rb -d $DEPLOYMENT_ADDRESS
在控制台输出中,这看起来像
ruby file_generator.rb -d 'some/path/${SVN_REVISION}'
我的脚本中的和param值是'some / path / $ {SVN_REVISION}'。但我需要像'some / path / 123'这样的东西。
我做错了什么?
UPDATE>>
代码示例,我解析参数:
require 'optparse'
option_parser = OptionParser.new do |opts|
executable_name = File.basename($PROGRAM_NAME)
opts.banner = "Usage: #{executable_name} [options] output_file_name"
opts.on('-d DEPLOYMENT_ADDRESS', 'The deployment address where the file will reside') do |deployment_address|
options[:deployment_address] = deployment_address
end
end
option_parser.parse!
output_file_name = ARGV.shift
puts options[:deployment_address] # => /some/path/${SVN_REVISION}. But I need somthing like /some/path/123
答案 0 :(得分:0)
如果没有必要的示例代码,很难肯定地说,但我猜你用单引号来分隔你的字符串,而不是所需的双引号或不正确的嵌入变量标志。
尝试:
"some/path#{SVN_VERSION}"