1.需要安装pulish over ssh 插件 2.系统管理 -> 系统设置(全局设置和路径), 拉到最下面 找到 Pulish over SSH, 进行设置ssh key。参考https://www.cnblogs.com/yechen2019/p/11529755.html 3.Transfers:
Source files:源文件地址,地址的目录是相对于jenkins workspace的目录(如/var/jenkins_home/workspace/构建的任务名),如果只需要执行命令不需要传输文件的时候,此处可以为空。如果你需要 传输该目录下的所有文件,直接填 **/*, 如果只传单个文件直接填写文件名
Remove prefix:去除的文件地址。在Source files输入框中填入的地址,会默认在服务器下创建相同的文件夹,所以需要将我们不需要的文件夹在这里剔除掉
Remote directory:远程服务器接收文件的地址,会在Pulish over SSH系统配置的路径之后添加的目录。
Exec command:文件传输任务执行完毕后,在远程服务器上执行的命令
远程执行shell脚本默认没有日志,参考博客:https://segmentfault.com/q/1010000040599260/a-1020000040612580
执行shell脚本中如果有docker build指定Dockerfile文件路径的方式会报错: unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/Dockerfile: no such file or directory 此时需要把脚本文件和Dockerfile文件放在同一个目录,并且cd到防止的目录文件夹,如下: cp -rf /home/jk_project/witness-app/$BUILD_NUMBER/witness/witness-app/Dockerfile /home/jk_project/witness-app cp -rf /home/jk_project/witness-app/$BUILD_NUMBER/witness/witness-app/target/witness-app.jar /home/jk_project/witness-app cd /home/jk_project/witness-app sh ./start.sh
|