У меня есть словарь для зацикливания нескольких строк в списке, если я укажу 2 или более, он всегда читает последнее значение в списке, пожалуйста, предложите мне.
- set_fact:
env_microservice_variable_map: |
{% set res = [] -%}
{% for microservice_name in MICROSERVICE_NAMES -%}
{% if microservice_name in MICROSERVICE_ENV_MAP -%}
{% set microservice_envs = MICROSERVICE_ENV_MAP[microservice_name] -%}
{% else -%}
{% set microservice_envs = env_variable_map.keys() -%}
{% endif -%}
{% for env in microservice_envs -%}
{% set variables = env_variable_map[env] -%}
{% set ignored = variables.__setitem__("MICROSERVICE_NAME", microservice_name) -%}
{% set ignored = res.extend([variables]) -%}
{%- endfor %}
{%- endfor %}
{{ res }}
- name: Copy values file
command: cp {{dir_path}}/helm/{{item.MICROSERVICE_NAME}}/values-template.yaml {{dir_path}}/helm/{{item.MICROSERVICE_NAME}}/values-{{item.EXEC_ENV}}-{{item.EXEC_REGION}}.yaml
with_items: "{{ env_microservice_variable_map }}"
become_user: jenkins
Первый - это set_fact, где он имеет отображение.
Вторая задача должна быть в состоянии выполнить цикл, когда у нас есть несколько строк в переменной, определенной "MICROSERVICE_NAMES"
Запущена команда ansible, она всегда читает последнюю строку в списке (служба чтения), пожалуйста, помогите мне, спасибо.
ansible-playbook generate_values_files.yml -i hosts --extra-vars "@generate_values_files_variable.yml" --extra-vars="{"'"MICROSERVICE_NAMES"'":{'processor-create','processor-update','read-service'}}" '--extra-vars={"MICROSERVICE_ENV_MAP":{}}'
Varibales:
dir_path: /jenkins
EXEC_ENV: dd
EXEC_REGION: west
Basically we have multiple directories
1. /jenkins/helm/processor-create/values-template.yml
2. /jenkins/helm/processor-update/values-template.yml
3. /jenkins/helm/read-service/values-template.yml
Each folder has values-template.yml file init when i run above script it has to create multiple files based above template file in each folder.
1. /jenkins/helm/processor-create/values-template.yml
values-dd-west.yml
values-mm-west.yml
values-gg-west.yml
2. /jenkins/helm/processor-update/values-template.yml
values-dd-west.yml
values-mm-west.yml
values-gg-west.yml
3. /jenkins/helm/read-service/values-template.yml
values-dd-west.yml
values-mm-west.yml
values-gg-west.yml
Проблема здесь в том, что когда я запускаю над заданиями, которые нужно выполнить, всегда создаются файлы для последней службы в списке: «служба чтения».