我有一个 ansible 文件,用于将 JAR 文件从一台主机移动到另一台主机。
看起来像这样:
- hosts: all
tasks:
- name:
"move jar"
synchronize:
src: ../target/my-project-1.0.3-SNAPSHOT.jar
dest: ~/
问题是快照版本(当前为 1.0.3)将不断增加。我想知道是否有办法使用通配符?我尝试放入 my-project-*-SNAPSHOT.jar
但它不起作用?可能吗?
最佳答案
这可以使用 fileglob查找。
- name: Move jar
synchronize:
src: "{{ item }}"
dest: "~"
with_fileglob:
- "../target/my-project-*-SNAPSHOT.jar"
给定剧本
- hosts: localhost
gather_facts: no
tasks:
- name: Move jar
synchronize:
src: "{{ item }}"
dest: "~"
with_fileglob:
- "../target/my-project-*-SNAPSHOT.jar"
结果是
/usr/local/ansible/play # ansible-playbook play.yml --inventory ../inventory.yml
PLAY [localhost] **********************************************************************************
TASK [Move jar] ***********************************************************************************
changed: [localhost] => (item=/usr/local/ansible/play/../target/my-project-1.1.0-SNAPSHOT.jar)
PLAY RECAP ****************************************************************************************
localhost : ok=1 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
/usr/local/ansible/play # ls ~
my-project-1.1.0-SNAPSHOT.jar
关于ansible - 是否可以在 Ansible 剧本中对 JAR 文件名使用通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61962868/