私はプロジェクトで作業しており、ansibleを使用してサーバーのクラスターをデプロイします。私が実装しなければならないタスクの1つは、ローカルファイルがローカルに存在する場合にのみ、そのファイルをリモートホストにコピーすることです。今、私はこれを使用してこの問題を解決しようとしています
- hosts: 127.0.0.1
connection: local
tasks:
- name: copy local filetocopy.zip to remote if exists
- shell: if [[ -f "../filetocopy.zip" ]]; then /bin/true; else /bin/false; fi;
register: result
- copy: src=../filetocopy.zip dest=/tmp/filetocopy.zip
when: result|success
しかし、これは次のメッセージで失敗しています:エラー:タスク「ローカルfiletocopy.zipをリモートにコピーする(存在する場合)」に「action」または「local_action」属性がありません
コマンドタスクを使用する場合、これを作成しようとしました。local_actionを使用してこのタスクを作成しようとしましたが、機能させることができませんでした。私が見つけたすべてのサンプルは、local_actionへのシェルを考慮していません。コマンドのサンプルのみがあり、どちらもコマンド以外のものはありません。ansibleを使用してこのタスクを実行する方法はありますか?
最初のステップを次のように変更します
- name: copy local filetocopy.zip to remote if exists
local_action: stat path="../filetocopy.zip"
register: result
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加