【问题标题】:Error while copying .war file to the remote server using ansible playbook使用 ansible playbook 将 .war 文件复制到远程服务器时出错
【发布时间】:2020-08-21 12:54:57
【问题描述】:

我正在尝试使用安装在运行 jenkins 的同一台服务器中的 ansible playbook 部署 .war 文件(从 /var/lib/jenkins/workspace/abc/target/abc.war/home/tomcat/webapps/)。出现以下错误,

无法在 Ansible 控制器上找到或访问“/var/lib/jenkins/workspace/abc/target/abc.war”。\n如果您正在使用模块并希望文件存在于远程,请参阅remote_src 选项

使用 ssh 验证验证远程服务器连接

ansible all -m ping, output is 192.168.*.***
| SUCCESS

部署文件

---
 - name: Deploy war  
   hosts: Appservers  
   tasks:
     - name: Stop Tomcat  
       command: /home/apache-tomcat-9.0.37/bin/shutdown.sh

     - name: Delete old war  
       command: rm -rf /home/apache-tomcat-9.0.37/webapps/abc*

     - name: Copy the war file  
       copy:  
         src: /var/lib/jenkins/workspace/abc/target/abc.war  
         dest: /home/apache-tomcat-9.0.37/webapps/  

     - name: Start Tomcat  
       command: /home/apache-tomcat-9.0.37/bin/startup.sh  

我不明白为什么在一切正常的情况下会出现上述错误。图片已上传以供参考。

PS:war文件归jenkins所有,主机和远程用户=root,deployment.yaml归root所有,拥有777权限。

【问题讨论】:

  • 您好,欢迎来到 SO。请阅读How to ask。发布代码、错误消息和命令被明确列为一种不好的做法。它通常根本不可读,如果需要快速检查,试图帮助您的人无法复制/粘贴内容,并且会损害搜索引擎索引内容的能力。请edit your question 并将图像的文本内容复制到代码块中。提前致谢。
  • 为我的错误道歉,用文字编辑和替换图像
  • 最好在引用或代码块中格式化文本。请参阅我的编辑以了解您未来的问题。
  • 感谢您的编辑,以后一定会遵守指南。
  • 你能用ansible控制器(即运行剧本的机器)上ls -l /var/lib/jenkins/workspace/BsmartFramework/target/BsmartFramework.war的结果来编辑你的问题作为它存在的证据吗?注意:如果文件存在于目标上而不是控制器上,则必须按照错误消息的建议使用remote_src: true

标签: ansible devops continuous-deployment


【解决方案1】:

是的,正如 Zeitounator 提出的许可问题。我的工作区具有只读权限,因为我收到了错误,现在我将权限更改为 r-x 并且它工作正常。谢谢Zeitounator!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多