其他分享
首页 > 其他分享> > 每周一坑-jenkins发布拷贝不了文件到远程

每周一坑-jenkins发布拷贝不了文件到远程

作者:互联网

jenkins发布拷贝不了文件到远程         好久没写这个专题了~~~~   今天部署一个工单系统的时候,架构前后端分离:前端nginx代理的静态目录(npm编译),后端一个war包(跑在tomcat里面)         简单介绍下这个项目结构,前后端代码用的是同一个gitlab地址,所以需要用不同目录来区分前后端,代码结构如下:

  今天主要是讲jenkins配置里面的构建后操作:Send build artifacts over SSH

 一、项目前端配置

 1、【构建】——》 【执行shell】配置 

前端npm编译,没啥问题,直接进去frontend目录,运行关键两条命令:

cd xxx-frontend

npm install
npm run build:test

##最终会生成一个dist目录,拷贝到远程发布
tar -zcf dist.tar.gz dist

 2、【构建后操作

  其中shell 脚本主要做的工作是把dist.tar.gz解压,然后把里面的文件拷贝到nginx默认网站根目录 html 路径。最后nginx虚拟主机配置文件指向该目录,浏览器即能访问。

 

 

二、项目后端配置

  后端,这个有点坑~~~

  看架构图,很多个pom.xml文件,然后开发说直接用最外层的 pom.xml 去编译就行(就是backend后面的第一个pom.xml)

1、【Pre Steps】和 【Build】 配置

 

 2、【构建后操作】

  在jenkins配置中的“构建后操作”,Send build artifacts over SSH,配完之后一直报错:    pom.xml文件编译后,我发现 app目录和 xxx-party 目录都生成 target目录,里面都有各自的war包

   当时跟开发确认过,app下的war包才是需要的,不要拿 xxx-party下的。

   在我贡献了10个jenkins发布报错后,发现这样的配置才是正确的:

   首先即使在上面,已经进去到 backend 目录下了(Pre Steps 图),我们理所当然地会以为直接从 backend 算起的相对目录来数这个war包位置(Source files),其实是不对的,要从backend 算起!!!!

如下图:

 

 

 

标签:xml,dist,pom,一坑,jenkins,拷贝,目录,backend
来源: https://www.cnblogs.com/windysai/p/16443155.html