Как отредактировать файл app.properties с параметром сборки в Jenkins - PullRequest
0 голосов
/ 18 апреля 2019

У меня есть сценарий селена, который я хочу запустить от Дженкинса. У меня есть файл свойств с именем app.properties. Этот файл состоит из свойств, таких как:

browser=chrome

Я настроил свой проект как параметризованный, поэтому при запуске сборки запрашивается параметр браузера. Я хочу выбрать этот параметр (например, firefox), чтобы он изменил свойство браузера в app.properties и запустил автоматизацию в Firefox.

Обычно, когда я изменяю свойство браузера в app.properties в Intellij, моя программа запускается с этим браузером. Так что в этом нет ничего плохого в моей программе.

Есть ли способ изменить app.properties относительно моего параметра сборки Jenkins и запустить программу с этой конфигурацией?

РЕДАКТИРОВАТЬ: Я нашел следующее решение:

  1. Установите плагин surefire.
  2. Добавить параметр браузера.
  3. В вашем классе управления имуществом примите параметр браузера как

    System.getProperty ( "браузер");

  4. С помощью jenkins настройте параметр браузера

  5. Вызвать команду maven: mvn test "-Dbrowser = $ {BROWSER}"

Ответы [ 2 ]

1 голос
/ 24 апреля 2019

Вы можете передать системные свойства для изменения конфигурации.Сначала вы должны сконфигурировать свой проект для чтения как системных свойств, так и файла конфигурации, где системные свойства будут иметь более высокий приоритет.Я бы порекомендовал Apache Commons Composite Configuration .Это может выглядеть так:

CompositeConfiguration configuration = new CompositeConfiguration();
try {
  configuration.addConfiguration(new SystemConfiguration());
  configuration.addConfiguration(new PropertiesConfiguration("app.properties"));
} catch (ConfigurationException e) {
  e.printStackTrace();
}
//Read your configuration values here

Таким образом, когда вы предоставляете системное свойство -Dbrowser = chrome , оно будет переопределять значение из файла конфигурации.

Во-вторых, вы 'Мне нужно настроить работу Дженкинса.Поскольку вы передаете параметр, вы можете использовать его в определении шага сборки:

mvn clean test -Dbroswer=${browser-param}
0 голосов
/ 18 апреля 2019

«То, как параметры вступают в силу, также различается в зависимости от выбранного вами типа параметра ... Строковые параметры отображаются как переменные среды с одинаковыми именами». https://wiki.jenkins.io/plugins/servlet/mobile?contentId=34930782#content/view/34930782

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...