之前公司用jekins来进行自动化发布,现在公司因没有运维,所以自己学习、并搭建了一个jenkins的环境来进行项目自动化部署。
不料在最后连接ssh后部署时,一直提示Transferred 0 file(s),个人理解为:传输文件为0。
现附上自己的问题描述和解决方法:
问题
安装插件. 进入插件管理,输入publish over SSH plugin安装即可。
配置远程服务器。
点击test 出现success才算连接成功。
在project中配置参数
保存后点击立即构建。在日志中出现如下的文字。
SSH: EXEC: completed after 400 ms SSH: Disconnecting configuration [8楼centos7-test] ... SSH: Transferred 0 file(s) Build step 'Send files or execute commands over SSH' changed build result to SUCCESS Finished: SUCCESS
去远程服务器的目录下查看文件,也未能找到。
说明文件发送失败。
扫描二维码关注公众号,回复:
6073211 查看本文章
当然已经提示传输0个文件,在系统配置时点击test如果成功的话那就是目录的问题。
查询了一些文档明白了具体的意思
- Source files
**/*
表示sskzmz这个job的工作目录下所有的文件和目录。 - Remove prefix 该操作是针对上面的source files目录,会移除匹配的目录。通常留空。
- Remote directory 该操作是基于设定的服务器目录进行。这里我的服务器配置是的/www. 因此这里应该写sites/sskzmz即可。
- Exec command 远程服务器执行的命令。例如可以输出 service nginx restart 或者/www/xx. sh 均可。
注意:
source files 要基于任务的目录进行。不支持绝对路径。
Remote directory 要基于你远程服务器的目录配置。
远程服务器目录就是指你用sxhell等工具连接上服务器时的目录
在jenkins中publish over SSH plugin插件的文档中说到Source files只写目录名称会自动添加/**,功能是匹配目标目录下的所有文件;
不过我试了试好像不大管用,不知道是版本原因还什么。