Привет, мой проект Jenkins - это параметризованная сборка. У меня есть 3 переменные. 1 вариант выбора и 2 строковых параметра. Выбранный параметр - do_you_want_to_deploy, а строковый параметр - git_tag и git_branch. Я хочу знать, как передать это значение в jenkinsfile?
В Jenkinsfile есть блок параметров для определения переменных. В соответствии с вашим вариантом использования определение параметров может выглядеть следующим образом. Здесь, по выбору в вашем объяснении, я предполагал, что вам нужен переключатель, но если вам нужен список элементов, используйте тип параметра choice
.
pipeline {
...
parameters {
booleanParam(name: 'do_you_want_to_deploy', defaultValue: false, description: 'Description of do_you_want_to_deploy')
string(name: 'git_tag', defaultValue: '', description: 'Description of git_tag')
string(name: 'git_branch', defaultValue: '', description: 'Description of git_branch')
}
stages {
stage('Example') {
steps {
ansiblePlaybook(
...
)
}
}
}
}
В проекте фристайла я выбираю 'Extra Переменные ', а затем получили ключ и значение. Итак, я поставил ключ deploy_location, значение - $ {do_you_want_to_deplo}. Ключ - which_tag, значение - $ {git_tag}. Ключ - which_ranch, значение - $ {git_branch}. Я выступаю за ansible. Как я могу добавить verbos -vvv? В плагине
Ansible есть опция extraVars
, которую можно использовать для передачи количества переменных из конвейера. Существует еще один параметр с именем extras
, который принимает строку и может использоваться для передачи дополнительных переменных, переключателей и т. Д. c.
Вместе ansiblePlaybook
может выглядеть так, как показано ниже,
ansiblePlaybook (
vaultCredentialsId: 'VaultId',
inventory: 'host-inventory.yml',
playbook: 'myPlaybook.yml',
extras: '-vvv',
extraVars: [
deploy_location: params.do_you_want_to_deploy,
which_tag: params.git_tag,
which_branch: params.git_branch
]
)
Мне также нужно передать то же значение в нисходящий проект. Как это сделать?
Как видно из примера ansiblePlaybook
выше, к параметрам можно получить доступ через объект params
.