5

概念実証として、おそらくこれまでで最も単純な ansible プレイブックを作成しようとしています: ansible サーバーからサーバー ファームに単一のファイルをコピーします。

完全を期すために、ansible が適切にインストールされています。ping モジュールはうまく機能します。笑

私の POC のプレイブックには次のように書かれています。

---
- ホスト: ステージング
  タスク:
    - 名前: ファイルをコピーします
      コピー: src=/root/Michael/file.txt dest=/tmp/file.txt

コマンドを実行すると...

ansible-playbook book.yml

次の出力(要約)を取得します...

msg: could not find src=/root/Michael/file.txt

私が読んださまざまなドキュメントや Web ページによると、ファイルへのパスは、プレイブックに対して絶対パスまたは相対パスのどちらでもかまいません。私は成功せずに両方を試しました。

ファイルをターゲット サーバーにコピーできるようにするには、ファイルをどこに置く必要がありますか?

ありがとう!

4

1 に答える 1

8

私のやり方でエラーを見つけました。Playbook とファイルは、 ansible-playbook コマンドを実行しているアカウントがアクセスできないディレクトリにありました。そのため、ansible-playbook プロセスはプレイブックを読み取ることができましたが (ファイルが配置されたディレクトリからコマンドを呼び出しました)、プロセスはファイルが配置されたディレクトリを読み取ることができず、その結果、ファイルを見つけることができませんでした。

解決策は、プレイブックとファイルを、ansible を実行しているアカウントが読み取ることができるディレクトリに移動することでした。その後、プレイブックは期待どおりに機能しました。

于 2013-09-23T20:50:36.483 に答える