如何解决使用Ansible Playbook将.war文件复制到远程服务器时出错
我正在尝试使用ansible剧本来部署.war
文件(从/var/lib/jenkins/workspace/abc/target/abc.war
到/home/tomcat/webapps/
),该剧本安装在运行jenkins的同一服务器上。出现以下错误,
在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:jenkins拥有的战争文件,主机和远程用户= root,root拥有的deployment.yaml,具有777权限。
解决方法
是的,正如Zeitounator提出的许可问题。我的工作区具有只读权限,因为我遇到了错误,现在我将权限更改为r-x,并且它可以正常工作。谢谢Zeitounator!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。