test new run job
This commit is contained in:
55
ansible/Jenkinsfile
vendored
55
ansible/Jenkinsfile
vendored
@ -7,10 +7,20 @@ pipeline {
|
||||
}
|
||||
|
||||
parameters {
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEA_H2', defaultValue: 'Новое сообщение для SiteA', description: 'Additional <h2> content for SiteA')
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEA_P', defaultValue: 'Дополнительный параграф для SiteA', description: 'Additional <p> content for SiteA')
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEB_H2', defaultValue: 'Новое сообщение для SiteB', description: 'Additional <h2> content for SiteB')
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEB_P', defaultValue: 'Дополнительный параграф для SiteB', description: 'Additional <p> content for SiteB')
|
||||
choice(
|
||||
name: 'DEPLOY_TARGET',
|
||||
choices: ['SiteA', 'SiteB', 'All'],
|
||||
description: 'Выберите сайты для развертывания'
|
||||
)
|
||||
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEA_H2', defaultValue: 'Новое сообщение для SiteA', description: 'Дополнительный <h2> контент для SiteA')
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEA_P', defaultValue: 'Дополнительный параграф для SiteA', description: 'Дополнительный <p> контент для SiteA')
|
||||
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEB_H2', defaultValue: 'Новое сообщение для SiteB', description: 'Дополнительный <h2> контент для SiteB')
|
||||
string(name: 'ADDITIONAL_CONTENT_SITEB_P', defaultValue: 'Дополнительный параграф для SiteB', description: 'Дополнительный <p> контент для SiteB')
|
||||
|
||||
string(name: 'ADDITIONAL_CONTENT_ALL_H2', defaultValue: 'Новое сообщение для всех сайтов', description: 'Дополнительный <h2> контент для всех сайтов')
|
||||
string(name: 'ADDITIONAL_CONTENT_ALL_P', defaultValue: 'Дополнительный параграф для всех сайтов', description: 'Дополнительный <p> контент для всех сайтов')
|
||||
}
|
||||
|
||||
stages {
|
||||
@ -38,19 +48,46 @@ pipeline {
|
||||
stage('Deploy Site') {
|
||||
steps {
|
||||
script {
|
||||
def selectedHosts
|
||||
switch(params.DEPLOY_TARGET) {
|
||||
case 'SiteA':
|
||||
selectedHosts = 'SiteA,proxy'
|
||||
break
|
||||
case 'SiteB':
|
||||
selectedHosts = 'SiteB,proxy'
|
||||
break
|
||||
case 'All':
|
||||
selectedHosts = 'SiteA,SiteB,proxy'
|
||||
break
|
||||
default:
|
||||
error "Неизвестный DEPLOY_TARGET: ${params.DEPLOY_TARGET}"
|
||||
}
|
||||
|
||||
def extraVars = [
|
||||
siteA_h2: params.ADDITIONAL_CONTENT_SITEA_H2,
|
||||
siteA_p: params.ADDITIONAL_CONTENT_SITEA_P,
|
||||
siteB_h2: params.ADDITIONAL_CONTENT_SITEB_H2,
|
||||
siteB_p: params.ADDITIONAL_CONTENT_SITEB_P,
|
||||
ansible_ssh_private_key_file: env.DECYPTED_KEY_FILE
|
||||
]
|
||||
|
||||
if (params.DEPLOY_TARGET == 'All') {
|
||||
extraVars.siteA_h2 = params.ADDITIONAL_CONTENT_ALL_H2
|
||||
extraVars.siteA_p = params.ADDITIONAL_CONTENT_ALL_P
|
||||
extraVars.siteB_h2 = params.ADDITIONAL_CONTENT_ALL_H2
|
||||
extraVars.siteB_p = params.ADDITIONAL_CONTENT_ALL_P
|
||||
} else {
|
||||
if (params.DEPLOY_TARGET == 'SiteA' || params.DEPLOY_TARGET == 'All') {
|
||||
extraVars.siteA_h2 = params.ADDITIONAL_CONTENT_SITEA_H2
|
||||
extraVars.siteA_p = params.ADDITIONAL_CONTENT_SITEA_P
|
||||
}
|
||||
if (params.DEPLOY_TARGET == 'SiteB' || params.DEPLOY_TARGET == 'All') {
|
||||
extraVars.siteB_h2 = params.ADDITIONAL_CONTENT_SITEB_H2
|
||||
extraVars.siteB_p = params.ADDITIONAL_CONTENT_SITEB_P
|
||||
}
|
||||
}
|
||||
|
||||
ansiblePlaybook(
|
||||
playbook: 'ansible/playbook.yml',
|
||||
inventory: "ansible/inventory.yml",
|
||||
extraVars: extraVars,
|
||||
limit: 'SiteA,SiteB,proxy'
|
||||
limit: selectedHosts
|
||||
)
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user