Я хочу переименовать файл, используя ansible playbook - PullRequest
0 голосов
/ 06 августа 2020

У меня есть файл .dsx на удаленном сервере, который я должен sh переименовать. У меня есть ansible playbook, который получает артефакты из нексуса, заархивирует его, а затем распакует на удаленный сервер. Этот распакованный файл необходимо переименовать.

unarchive:
  remote_src: yes
  src: {{destinationDir}}/{{artefactid}}-{{version}}.tar.gz
  dest: {{destinationDir}}

Имя файла, которое будет разархивировано, - djp-1.0.2-20200805.123-1.dsx И мне просто нужен djp.dsx

На самом деле имя файла который я упомянул, это просто пример .. Имя файла будет меняться каждый раз, когда мы выполняем развертывание. Не могли бы вы подсказать, как я могу изменить команду перемещения.

1 Ответ

0 голосов
/ 06 августа 2020

Пожалуйста, используйте команду mv, чтобы переименовать файл, как если бы вы переименовали файл в своем терминале. Как обсуждалось в комментариях

1) set_fact to a variable: item.path is the file your want to rename -set_fact: fname: {{ item.path | basename }}. You also have to find the files first.
2) - set_fact: prefix: "{{ fname | regex_replace('(\w+)-.*', '\\1') }}" 
3) - name: Rename file command: mv ./djp-1.0.2-20200805.123-1.dsx ./{{prefix}}.dsx
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...