【问题标题】:Is there a way to overwrite a value contained within a config.properties file via Jenkins?有没有办法通过 Jenkins 覆盖 config.properties 文件中包含的值?
【发布时间】:2018-04-06 20:06:49
【问题描述】:

有没有办法通过 Jenkins 覆盖 config.properties 文件中包含的值?

我的自动化框架中包含以下 config.properties 文件: 浏览器=铬 url=http//www.example.com

如果 chrome 的值更改为 firefox,那么所有测试现在都将在 firefox 浏览器中执行。

我可以通过直接访问 config.properties 文件手动更改此值,但可以通过 jenkins 更改该值吗?

【问题讨论】:

    标签: jenkins properties jenkins-plugins config properties-file


    【解决方案1】:

    是的。

    您可以创建一个构建参数作为 $browser 以接受值说“firefox”并在“执行 shell”中使用 sed,替换 config.properties 中的值。 完成后,执行您的脚本。

    这只是概述,因为您尚未发布有关 config.properties 文件、其位置、使用 Jenkins 作业或 jenkinsfile/pipeline 等的详细信息。

    【讨论】:

      【解决方案2】:

      我使用 Pipeline Utility Steps 插件来读取属性文件,看起来它可以写入一些其他类型的文件,但不能写入属性文件。

      在我看来,您希望在此文件中进行此更改,以便您可以先在一个浏览器中运行一些测试,然后在另一个浏览器中运行。如果是这种情况,我认为更好的处理方法是尝试让您的测试指向不同的文件。这更简洁一些,并且允许并行执行之类的事情,当您发现将来需要更改另一件事时,您不会在脚本中向文件写入太多内容,这容易出错。

      如果您不能让测试针对不同的属性文件执行,您可以拥有所需的每个文件的副本,然后将它们复制到适当的文件名以执行测试。

      但也许我对您在这里的设置做出了错误的假设。 ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-02-02
        • 2012-09-03
        • 1970-01-01
        • 1970-01-01
        • 2014-02-01
        • 2013-01-05
        • 2021-07-25
        相关资源
        最近更新 更多