【发布时间】: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