--- - name: upload {{repo}}.jar copy: src={{target_dir}}/{{repo}}.jar dest={{remote_dir}}/{{repo}}.jar.new - name: remove old {{repo}}.jar.bak shell: cd {{remote_dir}} && rm -f {{repo}}.jar.bak - name: check whether {{repo}}.jar exists shell: cd {{remote_dir}} && ls {{repo}}.jar || true register: jar_exists - name: create current {{repo}}.jar.bak shell: cd {{remote_dir}} && mv {{repo}}.jar {{repo}}.jar.bak when: jar_exists.stdout != '' - name: create new {{repo}}.jar shell: cd {{remote_dir}} && mv {{repo}}.jar.new {{repo}}.jar