Jenkins部署服务到远程服务器

比眉伴天荒 2024-05-08 07:07 198阅读 0赞

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脚本默认没有日志:

你需要把这个Verbose output in console勾上。

85ef534fb12d01b21ed7ea9eacafb091.png

执行shell脚本中如果有docker build指定Dockerfile文件路径的方式会报错:

  1. unable to prepare context: unable to evaluate symlinks in Dockerfile path: lstat /root/Dockerfile: no such file or directory

此时需要把脚本文件和Dockerfile文件放在同一个目录,并且cd到防止的目录文件夹,如下:

  1. cp -rf /home/jk_project/witness-app/$BUILD_NUMBER/witness/witness-app/Dockerfile /home/jk_project/witness-app
  2. cp -rf /home/jk_project/witness-app/$BUILD_NUMBER/witness/witness-app/target/witness-app.jar /home/jk_project/witness-app
  3. cd /home/jk_project/witness-app
  4. sh ./start.sh

Jenkins无法执行docker命令:

  1. docker: error while loading shared libraries: libltdl.so.7: cannot open shared object file: No such file or directory

解决办法:

进入Jenkins启动后的镜像中,执行

  1. apt-get update && apt-get install -y libltdl7 && apt-get update

发表评论

表情:
评论列表 (有 0 条评论,198人围观)

还没有评论,来说两句吧...

相关阅读