test new run job
This commit is contained in:
parent
74f04d975c
commit
2f21245787
55
ansible/Jenkinsfile
vendored
55
ansible/Jenkinsfile
vendored
@ -7,10 +7,20 @@ pipeline {
|
|||||||
}
|
}
|
||||||
|
|
||||||
parameters {
|
parameters {
|
||||||
string(name: 'ADDITIONAL_CONTENT_SITEA_H2', defaultValue: 'Новое сообщение для SiteA', description: 'Additional <h2> content for SiteA')
|
choice(
|
||||||
string(name: 'ADDITIONAL_CONTENT_SITEA_P', defaultValue: 'Дополнительный параграф для SiteA', description: 'Additional <p> content for SiteA')
|
name: 'DEPLOY_TARGET',
|
||||||
string(name: 'ADDITIONAL_CONTENT_SITEB_H2', defaultValue: 'Новое сообщение для SiteB', description: 'Additional <h2> content for SiteB')
|
choices: ['SiteA', 'SiteB', 'All'],
|
||||||
string(name: 'ADDITIONAL_CONTENT_SITEB_P', defaultValue: 'Дополнительный параграф для SiteB', description: 'Additional <p> content for SiteB')
|
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 {
|
stages {
|
||||||
@ -38,19 +48,46 @@ pipeline {
|
|||||||
stage('Deploy Site') {
|
stage('Deploy Site') {
|
||||||
steps {
|
steps {
|
||||||
script {
|
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 = [
|
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
|
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(
|
ansiblePlaybook(
|
||||||
playbook: 'ansible/playbook.yml',
|
playbook: 'ansible/playbook.yml',
|
||||||
inventory: "ansible/inventory.yml",
|
inventory: "ansible/inventory.yml",
|
||||||
extraVars: extraVars,
|
extraVars: extraVars,
|
||||||
limit: 'SiteA,SiteB,proxy'
|
limit: selectedHosts
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
owner: nginx
|
owner: nginx
|
||||||
group: nginx
|
group: nginx
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
when: inventory_hostname in groups['SiteA']
|
when: "'SiteA' in group_names"
|
||||||
|
|
||||||
- name: Create web root for SiteB
|
- name: Create web root for SiteB
|
||||||
file:
|
file:
|
||||||
@ -25,19 +25,19 @@
|
|||||||
owner: nginx
|
owner: nginx
|
||||||
group: nginx
|
group: nginx
|
||||||
mode: '0755'
|
mode: '0755'
|
||||||
when: inventory_hostname in groups['SiteB']
|
when: "'SiteB' in group_names"
|
||||||
|
|
||||||
- name: Deploy SiteA Configuration
|
- name: Deploy SiteA Configuration
|
||||||
template:
|
template:
|
||||||
src: siteA.conf.j2
|
src: siteA.conf.j2
|
||||||
dest: /etc/nginx/conf.d/siteA.conf
|
dest: /etc/nginx/conf.d/siteA.conf
|
||||||
when: inventory_hostname in groups['SiteA']
|
when: "'SiteA' in group_names"
|
||||||
|
|
||||||
- name: Deploy SiteB Configuration
|
- name: Deploy SiteB Configuration
|
||||||
template:
|
template:
|
||||||
src: siteB.conf.j2
|
src: siteB.conf.j2
|
||||||
dest: /etc/nginx/conf.d/siteB.conf
|
dest: /etc/nginx/conf.d/siteB.conf
|
||||||
when: inventory_hostname in groups['SiteB']
|
when: "'SiteB' in group_names"
|
||||||
|
|
||||||
- name: Deploy SiteA HTML
|
- name: Deploy SiteA HTML
|
||||||
template:
|
template:
|
||||||
@ -48,7 +48,7 @@
|
|||||||
site_h1: "{{ siteA.site_h1 }}"
|
site_h1: "{{ siteA.site_h1 }}"
|
||||||
site_h2: "{{ siteA.site_h2 }}"
|
site_h2: "{{ siteA.site_h2 }}"
|
||||||
site_p: "{{ siteA.site_p }}"
|
site_p: "{{ siteA.site_p }}"
|
||||||
when: inventory_hostname in groups['SiteA']
|
when: "'SiteA' in group_names"
|
||||||
|
|
||||||
- name: Deploy SiteB HTML
|
- name: Deploy SiteB HTML
|
||||||
template:
|
template:
|
||||||
@ -59,7 +59,7 @@
|
|||||||
site_h1: "{{ siteB.site_h1 }}"
|
site_h1: "{{ siteB.site_h1 }}"
|
||||||
site_h2: "{{ siteB.site_h2 }}"
|
site_h2: "{{ siteB.site_h2 }}"
|
||||||
site_p: "{{ siteB.site_p }}"
|
site_p: "{{ siteB.site_p }}"
|
||||||
when: inventory_hostname in groups['SiteB']
|
when: "'SiteB' in group_names"
|
||||||
|
|
||||||
- name: Reload Nginx
|
- name: Reload Nginx
|
||||||
systemd:
|
systemd:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user