Есть ли способ указать наборы предустановленных значений параметров в Jenkins - PullRequest
0 голосов
/ 29 октября 2019

Есть ли способ указать предустановленный набор параметров сборки в Jenkins, было бы неплохо иметь возможность настроить профиль для dev / test / ppe / prod, например, с общими значениями, предопределенными для этих профилей, но я не могу найтилюбую информацию о том, как это сделать, чтобы я мог просто выбрать профиль сброса в веб-интерфейсе jenkins и запустить сборку без необходимости повторного ввода значений каждый раз.

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

Я ограничен декларативными конвейерами

Ниже мое хранилище параметров с парой вещей, отредактированных в качестве примера того, как я настроил параметры в моем Jenkinsfile

properties([
  parameters([
    [
      $class: 'ParameterSeparatorDefinition',
      name: 'JobVariables',
      sectionHeader: 'Deployment Settings',
      separatorStyle: separatorBlank,
      sectionHeaderStyle: sectionHeaderStyle
    ],
    choice(name: 'Job Mode', defaultValue: params['Job Mode'] ?: 'Validate', choices: ['Sceptre Single Stack', 'Deploy All', 'Deploy Common', 'Deploy SubZone', 'Teardown', 'Delete S3 Bucket'], description: 'Sceptre Deployment Mode.'),
    choice(name: 'Sceptre Mode', defaultValue: params['Sceptre Mode'] ?: 'Validate', choices: ['Validate', 'Generate', 'Create', 'Launch', 'Execute', 'Delete'], description: 'Sceptre Deployment Mode.'),
    [
      $class: 'ParameterSeparatorDefinition',
      name: 'CommonVariables',
      sectionHeader: 'Common Stack Variables',
      separatorStyle: separatorBlank,
      sectionHeaderStyle: sectionHeaderStyle
    ],
    choice(name: 'Sceptre Stack', defaultValue: params['Sceptre Stack'] ?: 'cortex-common-s3-bucket', choices: [
      'common-live-alb-route53',
      'common-s3-bucket',
      'common-s3-permissions',
      'ec2-alb-route53',
      'ec2-alb-targetgroups',
      'ec2-alb',
      'ec2-instances-route53',
      'ec2-instances',
      'ec2-securitygroups'
    ], description: 'Sceptre Stack.'),
    choice(name: 'Deploy Environment', defaultValue: params['Deploy Environment'] ?: 'Dev', choices: ['Dev','Test','PPE','Prod'], description: 'Deployment environment.'),
    [
      $class: 'ParameterSeparatorDefinition',
      name: 'EnvironmentVariables',
      sectionHeader: 'Environment Specific Variables',
      separatorStyle: separatorBlank,
      sectionHeaderStyle: sectionHeaderStyle
    ],
    choice(name: 'Deploy Zone', defaultValue: params['Deploy Zone'] ?: '', choices: ['', 'SIT1','SIT4','SIT6','Sandbox','TPP'], description: 'Deployment environment SubZone.'),
    choice(name: 'Deploy SubZone', defaultValue: params['Deploy SubZone'] ?: '', choices: ['', 'Blue','Green'], description: 'Deployment environment SubZone.'),
    string(name: 'Change Number', defaultValue: params['Change Number'] ?: '', description: 'ServiceNow Change Number.'),
    booleanParam(name: 'Debug Mode', defaultValue: params['Debug Mode'] ?: true, description: 'Activate Debug Mode'),
    booleanParam(name: 'User Prompt Default', defaultValue: params['User Prompt Default'] ?: true, description: 'Default Action on Prompt Timeout'),
  ])
])

Это будет сбрасываться к значению по умолчанию каждый раз, когда теоретически оно должно сохранить хотя бы предыдущую сборку из того, что я прочитал

...