2016-11-09 63 views
0

我試圖本地文件夾的 「東西」 複製到 「升級」 文件夾中ansible:複製文件夾recursivly在ansible

- name: Copy the ansible stuff 
    copy: 
    src: ./stuff 
    dest: ./staging 

這是SUFF的direcotry結構:

- stuff 
     - foo 
      - bar 
       - file.txt 

我得到這個錯誤:

Destination directory ./staging/stuff/foo/bar does not exist" 

該文件夾staging確實存在!它似乎有複製嵌套文件夾的問題。

爲什麼?

這並不工作:

- name: Copy the ansible stuff 
    shell: "cp -r ./stuff ./staging/" 
+1

試着給出絕對路徑。 – Shasha99

回答

1

@dgw是對的。你的shell:「cp ..」似乎正在運行,只要你在本地主機上運行playbook。

您的原始劇本獲取erorr,因爲相對的dest路徑(./staging) 如果您設置了絕對路徑,它將起作用。例如

- name: Copy the ansible stuff 
    copy: 
    src: ./stuff 
    dest: /tmp/staging 
1

複製使用從中央ansible主機SRC,而不是從playhost。用你的shell複製你的本地拷貝在主機上。

+0

是的。在我的情況下,主機是本地主機,這就是爲什麼我可以用shell來測試它。 – Nathan