win_get_url无法将文件从url获取到远程Windows Server 2012节点

时间:2015-09-22 10:01:42

标签: ansible

我需要使用win_get_url将文件从jenkins服务器复制到远程Windows Server 2012计算机 我的剧本如下:

hosts: windows_ip tasks:
    name: Deploy to windows 
    win_get_url: 
      url: 'http://(jenkins_server_ip)/jenkins/view/Trunk/job/router/lastSuccessfulBuild/artifact/router/conf/router-service-context.xml' 
      dest: 'D:\router'

但是它会出现以下错误:

致命:[windows_ip]:失败! => {"更改":false,"失败":true," msg":"将http://(jenkins_server_ip)/jenkins/view/Trunk/job/router/lastSuccessfulBuild/artifact/router/conf/router-service-context.xml下载到D:\路由器异常调用时出错\" DownloadFile \"用\" 2 \"参数:\" WebClient请求期间发生异常。\""}

这里有什么问题?

2 个答案:

答案 0 :(得分:4)

对于遇到此问题的任何其他人,问题是如果目标目录不存在,那么底层的PowerShell脚本将不会创建目标目录。

答案 1 :(得分:1)

我会通过查看确切的脚本来解决这个问题。第一。通过在控制节点上运行以下命令,确保ansible将其脚本留在目标节点上:

export ANSIBLE_KEEP_REMOTE_FILES=1

重新运行您的剧本,然后登录到Windows框。 Ansible的文件将在C:\ users \\ appdata \ local \ temp \ _ ansiblexxxxx

在本地运行/调试脚本以弄清楚发生了什么。