Как использовать Ansible для загрузки всего содержимого из определенной папки в nexus / artifactory / webserver - PullRequest
0 голосов
/ 16 июня 2020

первая запись здесь.

У меня есть несколько файлов с именами переменных (я их не выбираю), но давайте назовем их:

test1.rpm pizza.rpm Pencil .tar

Имена и расширения меняются (они контролируются другой командой). Я бы хотел, чтобы они были доступны через веб-ресурс, например, Artifactory / Nexus в известной папке INT1.

Итак, у меня есть несколько файлов в папке INT1, обслуживаемой Artifactory / Nexus или что-то еще.

Я бы хотел, чтобы Ansible эффективно go в известную папку и загружал все элементы.

Я посмотрел на следующее:

  • get_uri, но обычно вам нужен список имен файлов (которого у меня нет)
  • rsyn c - но это больше для передачи файловой системы в файловую

Есть у кого-нибудь есть предложения или решения?

Ответы [ 2 ]

1 голос
/ 16 июня 2020

Я бы хотел, чтобы Ansible эффективно go в известную папку и загружал все элементы.

В вашем предложении есть «и», что соответствует два действия, которые должна предпринять ваша playbook:

  1. получить список артефактов
  2. получить артефакты на основе этого списка
- uri:
    url: '{{ artifactory_url }}/INT1'
    return_content: yes
  register: int1_response

- set_fact:
    the_urls: >-
      {# 
      here is where your code goes 
      to extract the list of files based 
      on the contents of whatever the server returns
      #}

- get_url:
    url: '{{ item }}'
    dest: /tmp/my/local/path/{{ item | basename }}
  with_items: '{{ the_urls }}'
0 голосов
/ 24 июня 2020

Не очень хороший Ansible эксперт, но если целью является загрузка содержимого папки, с помощью Artifactory вы можете:

Учитывая путь, Artifactory делает действительно легко загрузить содержимое каталога за один шаг.

...