0

文字列パラメーター DEPLOYMENT_ADDRESS を使用して Jenkins でパラメーター化されたジョブを構成しました - デフォルト値は some/path/${SVN_REVISION} です。

SVN_REVISION は、Jenkins のシェル スクリプトで使用できる環境変数です。

Rubyスクリプトを呼び出すと

ruby file_generator.rb -d $DEPLOYMENT_ADDRESS

コンソール出力では、これは次のようになります

ruby file_generator.rb -d 'some/path/${SVN_REVISION}'

私のスクリプト内のパラメータ値は「some/path/${SVN_REVISION}」です。しかし、「some/path/123」のようなものが必要です。

私が間違っていることは何ですか?

更新>>

パラメータを解析するコード例:

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 
4

1 に答える 1

0

必要なサンプル コードがなければ、確実に言うのは難しいですが、必要な二重引用符や不適切な埋め込み変数フラグの代わりに、単一引用符を使用して文字列を区切ったと推測できます。

試す:

"some/path#{SVN_VERSION}"
于 2013-09-16T14:30:45.103 に答える