Как настроить параметры в сценарии конвейера jenkins - PullRequest
0 голосов
/ 28 декабря 2018

У нас есть задания jenkins, которые запускают автотесты с параметрами:

  • HOST;
  • EXPEIMENT;
  • TAKE_NEW_SCREENSHOT;
  • XML_NAME.

Все эти параметры имеют значения по умолчанию, см. Скриншот перед запуском задания параметризации:

Parametrizing jenkins job before running

Мне нужно запустить несколько заданийодновременно только с 2 параметрами: ХОСТ и ЭКСПЕРИМЕНТ.Я создал следующий конвейер-скрипт:

def tasks = [:]

parameters {
    string(name: 'HOST', defaultValue: 'www', description: 'host: www, dev3, etc',)
    string(name: 'EXPERIMENT', defaultValue: 'withoutExperiment',)
}

tasks['Actions MyBox'] = {
    build job: 'MyDocs_Actions_And_Manage_Buttons_MyBox_Tests', parameters: [
        string(name: 'HOST', value: 'www'), 
        string(name: 'EXPERIMENT', value: 'withoutExperiment'), 
        booleanParam(name: 'TAKE_NEW_SCREENSHOT', value: false), 
        string(name: 'XML_NAME', value: 'my_docs_actions_buttons_mybox_tests')
    ]
}

tasks['DashBoard General'] = {
    build job: 'DashBoard_General_Tests', parameters: [
        string(name: 'HOST', value: 'www'), 
        string(name: 'EXPERIMENT', value: 'withoutExperiment'), 
        booleanParam(name: 'TAKE_NEW_SCREENSHOT', value: false), 
        string(name: 'XML_NAME', value: 'my_docs_dash_board_general_tests')
    ]
}

tasks['Actions InBox'] = {
    build job: 'MyDocs_Actions_Buttons_InBox_Tests', parameters: [
        string(name: 'HOST', value: 'www'), 
        string(name: 'EXPERIMENT', value: 'withoutExperiment'), 
        booleanParam(name: 'TAKE_NEW_SCREENSHOT', value: false), 
        string(name: 'XML_NAME', value: 'my_docs_actions_buttons_inbox_tests')
    ]
}

parallel tasks

и указал параметры в «общей» конфигурации конвейера:

pipeline configuration

Но когда яЗапустите этот элемент конвейера со значением параметра! = значение по умолчанию, например, укажите HOST = dev12,

pipepline item with not default value parameter

В любом случае все задания выполняются одновременно со значениями параметров по умолчанию исборка показывает нулевой указанный параметр,

null parameter HOST

Помогите, пожалуйста, определить проблему.

1 Ответ

0 голосов
/ 28 декабря 2018

Вы передаете жестко закодированные значения своим задачам.Например, вы определили

tasks['Actions MyBox'] = {
    build job: 'MyDocs_Actions_And_Manage_Buttons_MyBox_Tests', parameters: [
        string(name: 'HOST', value: 'www'), 
        string(name: 'EXPERIMENT', value: 'withoutExperiment'), 
        booleanParam(name: 'TAKE_NEW_SCREENSHOT', value: false), 
        string(name: 'XML_NAME', value: 'my_docs_actions_buttons_mybox_tests')
    ]
}

. В этом случае все параметры жестко закодированы, и каждый раз, когда выполняется конвейер, значение HOST будет www.И именно поэтому у вас есть null в описании параметра HOST в информации о выполнении сборки (потому что вы не указываете его в команде build job).

Итак, вам нужно использовать что-то вроде string(name:'HOST', value: "${params.HOST}")

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