Как я могу создать параметризованную работу Jenkins?
Я хочу использовать одну и ту же работу на другой машине. Но я не хочу менять конфигурацию работы каждый раз. Могу ли я передать метку имени компьютера в качестве параметра и запустить задание на другом компьютере? (Не одновременно).
Я хочу передать параметры во время выполнения задания в сценарий, который я написал в конфигурации (пакетный сценарий). Можем ли мы сделать это?
Могу ли я получить возвращаемое значение с работы и использовать его на следующей работе?
3 ответа
Да, вы можете передать параметр метки узла с помощью NodeLabel Parameter Plugin.
Да, вы можете определить параметры, как описано в разделе "Параметризованные сборки", а затем использовать их в своем скрипте в качестве переменной среды:
Параметр доступен в качестве параметров среды. Так, например, оболочка ($FOO, %FOO%) или Ant ( ${env.FOO}) могут получить доступ к этим значениям.
- Это не совсем возвращаемое значение, но вы можете передать любой параметр (с его значением) в последующее задание с помощью Parameterized Trigger Plugin.
Example criteria:
User needs to use different environments for executions.
1. Select jenkins project
2. Job -> Configure -> Select this project is parameterized check box.
3. Select Add parameter drop down - > String parameter
4. Define a string parameter (In my example I use environment variable as : BaseURL)
5.Now under build section initialize the mvn command user needs to execute.Here in this case I want to execute my jenkins build on a environment where I specify. So I should be able to execute my build in different environment each time with out changing the code.
My mvn command: I pass my environment url as a parameter (Using $ sign). This is based on user requirement.
clean test -Dcustomproperty="$BaseURL"
6. Apply and save your Jenkins project.
7. Now your project is parameterized. Then your project should have Build with parameters option.
8.Click Build with parameters link and enter your parameter (In this example my environment variable) and click build. Your jenkins job should run with the parameter.
NOTE: This build won't succeed unless the passing parameter is not utilized in the automation script. So script has to be modified to retrieve the passing variable.
String BaseURL= System.getProperty("customproperty");