可以替换Jenkins中.properties文件中的标记化值吗?

时间:2017-12-07 17:20:43

标签: jenkins jenkins-plugins tokenize

可以替换Jenkins中的.properties文件中的标记化值吗?

我在Jenkins运行一个使用Java的自动化项目,我有一个中央的config.properties文件,Jenkins中是否有一个功能可以让我通过Jenkins门户替换标记化的值?

当前配置.properties文件:

<!--BROWSER TYPE: chrome | firefox -->
browser=#{browserType}#

<!--BASE BAG HOMEPAGE URL: www.google.com
url=#{homepageUrl}#

<!--Username: example21@mail.com !-->
username=#{username}#   

我需要替换其中包含的所有值:#{}#因此,如果我设置变量:浏览器的值为chrome,则jenkins将替换该值,最终产品将为:

<!--BROWSER TYPE: chrome | firefox -->
browser=chrome

1 个答案:

答案 0 :(得分:1)

AFAIK,属性文件不会即时更新,您可以使用sed代替

sed -i "s|#{browserType}#|${browser_jenkins build_variable}|g" Config .properties

browser_jenkins build_variable:这是您在构建作业时选择的构建参数

更新了解决方案:

  1. 将jenkins构建参数(选项)定义为:browser_value(变量名称)
  2. 将您的Config.properties文件更新为

    browser=browser_value
    
  3. 使用执行shell并使用以下命令

     sed -i "s|browser_value|${browser_value}|g" Config.properties
    
  4. 上面的命令应该用你在jenkins作业选择参数中选择的选项替换config.properties中的browser_value字符串