Инструменты пользователя

Инструменты сайта


service:ansible

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
service:ansible [15.04.2025 11:52] – [Выборка из словаря по значениям из списка] viacheslavservice:ansible [15.04.2025 12:21] (текущий) – [Выборка из словаря по значениям из списка] viacheslav
Строка 981: Строка 981:
         {{ services | dict2items | selectattr('key', 'in', running_services['stdout_lines']) | map(attribute='value') | list }}         {{ services | dict2items | selectattr('key', 'in', running_services['stdout_lines']) | map(attribute='value') | list }}
 </code> </code>
 +
 +===== Учёт кода возврата в в ответе Nexus в формате json =====
 +
 +<file yaml staging.yml>
 +- hosts: 127.0.0.1
 +  connection: local
 +  roles:
 +    - staging
 +  vars:
 +    name: ""
 +    version: ""
 +    repo_test: "project_maven_test"
 +    repo_uat: "project_maven_uat"
 +    repo_prod: "project_maven_prod"
 +    nexus_user_1: "user1"
 +    nexus_user_2: "user2"
 +    nexus_password_1: ""
 +    nexus_password_2: ""
 +    timeout: 300
 +</file>
 +
 +<file yaml roles/staging/tasks/main.yml>
 +- name: "Create tag"
 +  uri:
 +    url: https://nexus-cd.example.com/service/rest/v1/script/getVersion/run
 +    user: "{{ nexus_user_1 }}"
 +    password: "{{ nexus_password_1 }}"
 +    force_basic_auth: true
 +    method: POST
 +    validate_certs: false
 +    timeout: "{{ timeout }}"
 +    return_content: true
 +    body_format: json
 +    body:
 +      version: "{{ version }}"
 +  register: response_ctag
 +
 +- debug:
 +    var: response_ctag.json.result
 +
 +- pause:
 +    seconds: 10
 +
 +- name: "Set tag"
 +  uri:
 +    url: https://nexus-cd.example.com/service/rest/v1/script/setVersion/run
 +    user: "{{ nexus_user_1 }}"
 +    password: "{{ nexus_password_1 }}"
 +    force_basic_auth: true
 +    method: POST
 +    validate_certs: false
 +    timeout: "{{ timeout }}"
 +    return_content: true
 +    body_format: json
 +    body:
 +      tagName: "ver-{{ version }}"
 +      repository: "{{ repo_test }}"
 +      name: "{{ name }}"
 +      version: "{{ version }}"
 +  register: response_stag
 +
 +- debug:
 +    var: response_stag.json.result
 +
 +- pause:
 +    seconds: 10
 +  when: (response_stag.json.result |from_json).status == 200
 +
 +- name: "Staging to UAT"
 +  uri:
 +    url: https://nexus-cd.example.com/service/rest/v1/script/staging/run
 +    user: "{{ nexus_user_2 }}"
 +    password: "{{ nexus_password_2 }}"
 +    force_basic_auth: true
 +    method: POST
 +    validate_certs: false
 +    timeout: "{{ timeout }}"
 +    return_content: true
 +    body_format: json
 +    body:
 +      repoName: "{{ repo_uat }}"
 +      version: "{{ version }}"
 +  register: response_uat
 +  when: (response_stag.json.result |from_json).status == 200
 +
 +- debug:
 +    var: response_uat.json.result
 +  when: response_uat.json.result is defined
 +
 +- pause:
 +    seconds: 10
 +  when: response_uat.json.result |from_json).status == 200
 +
 +- name: "Staging to PROD"
 +  uri:
 +    url: https://nexus-cd.example.com/service/rest/v1/script/staging/run
 +    user: "{{ nexus_user_2 }}"
 +    password: "{{ nexus_password_2 }}"
 +    force_basic_auth: true
 +    method: POST
 +    validate_certs: false
 +    timeout: "{{ timeout }}"
 +    return_content: true
 +    body_format: json
 +    body:
 +      repoName: "{{ repo_prod }}"
 +      version: "{{ version }}"
 +  register: response_prod
 +  when: (response_uat.json.result |from_json).status == 200
 +
 +- debug:
 +    var: response_prod.json.result
 +  when: response_prod.json.result is defined
 +</file>
 +
 ====== Ошибки, проблемы ====== ====== Ошибки, проблемы ======
  
service/ansible.1744717923.txt.gz · Последнее изменение: viacheslav

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki