You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.4 KiB
Groovy
37 lines
1.4 KiB
Groovy
def cluster_features = ['connect'] + execution.getVariable('connect-features')
|
|
|
|
def env = [
|
|
cluster_features: cluster_features,
|
|
cluster_name: cluster.name,
|
|
cluster_service: cluster.service,
|
|
cluster_size: cluster.size,
|
|
connect_image_version: binding.hasVariable('connect') ? connect.version : 'latest',
|
|
current_realm_name: tenant.key,
|
|
current_realm_display_name: tenant.name,
|
|
process_instance_id: execution.getProcessInstanceId(),
|
|
scope_id: contextScopeId,
|
|
smardigo_management_action: smardigoManagementAction,
|
|
stage: cluster.stage,
|
|
tenant_id: tenant.key
|
|
]
|
|
if (binding.hasVariable('extraVariables')) {
|
|
env << extraVariables
|
|
}
|
|
|
|
def filename = 'xvars-' + smardigoManagementAction + '-' + execution.getProcessInstanceId() + '.yml'
|
|
def ansibleCommand= 'ansible-playbook ' + smardigoManagementAction + '.yml --vault-password-file ~/vault-pass -e "@' + filename + '"'
|
|
def ansibleVariables= 'cat <<EOT >> ' + filename + '\n'
|
|
ansibleVariables+= '---\n'
|
|
env.each { key, val ->
|
|
if (val instanceof List) {
|
|
ansibleVariables+= key + ':\n- \'' + val.join('\'\n- \'') + '\'\n'
|
|
} else {
|
|
ansibleVariables+= key + ': \'' + val + '\'\n'
|
|
}
|
|
}
|
|
ansibleVariables+= 'EOT'
|
|
|
|
processes.byId(contextScopeId, contextProcessId).createComment(comment + ' gestartet')
|
|
processes.byId(contextScopeId, contextProcessId).createComment(ansibleVariables + '\n' + ansibleCommand)
|
|
|
|
ansibleCommand |