-
Jenkins应用篇—Jenkins+Maven打包静态文件
2016-11-14 22:14:13介绍如何使用Maven构建前端工程,通过Publish over SSH插件发布到远程机器上的Nginx。文章中的示例进行了大量的简化,希望对...打包工具为maven-assembly-plugin插件,maven-assembly-plugin是Maven中一个强大的存在。本文是Jenkins应用系统文章的一部分,大部分来自工作和学习中的实践,部分内容来自官方文档和网友的文章,引用的文章会在“参考资料”部分附上原始链接,如无意中侵犯您的权利,请联系QQ:46106962,如需要进一步的交流请加入QQ群:(Jenkins部落:469536515,Jenkins部落-2:141762278)。转载和使用请注明出处。
介绍如何使用Maven构建前端工程,通过Publish Over SSH(配置参考:Publish Over SSH)插件发布到远程机器上的Nginx。文章中的示例进行了大量的简化,希望对使用Jenkins+Maven构建PHP、H5工程、发布提供思路。打包工具为maven-assembly-plugin插件,maven-assembly-plugin是Maven中一个强大的存在。
工程结构
工程在svn上的路径:http://10.11.33.19/svn/code/demo/trunk目录结构:/css/js/images/userindex.htmlpom.xmlassembly.xmlMaven配置
POM
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.hyf.test</groupId> <artifactId>html-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> <name>Htmo Demo</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <fileName>demo</fileName> </properties> <build> <finalName>${fileName}</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-assembly-plugin</artifactId> <version>2.5.5</version> <configuration> <descriptors> <descriptor>assembly.xml</descriptor> </descriptors> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
ASSEMBLY
<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd"> <id>html</id> <formats> <format>zip</format> </formats> <fileSets> <fileSet> <directory>${project.basedir}</directory> <includes> <include>*.html</include> </includes> <useDefaultExcludes>true</useDefaultExcludes> </fileSet> <fileSet> <directory>js</directory> <useDefaultExcludes>true</useDefaultExcludes> </fileSet> <fileSet> <directory>images</directory> <useDefaultExcludes>true</useDefaultExcludes> </fileSet> <fileSet> <directory>css</directory> <useDefaultExcludes>true</useDefaultExcludes> </fileSet> </fileSets> </assembly>
构建后Jenkins工作空间的目录结构
/css/js/images/user/target/target/demo-all.zipindex.htmlpom.xmlassembly.xml以上只列出了部分重要目录和文件,“/”代表工作空间的根目录,实际目录结构请看Jenkins中相应job里的“工作空间”。Job中Publish Over SSH配置
主要配置有
Source files:这里的配置主要和工作空间的目录结构和构建生成的zip文件有关,具体怎么写要参照自己项目的工作空间来写,避免走弯路Remove prefix: 上传到远程机器时要过滤掉的目录,如下图中的“target”Exec command: 上传到远程机器后进行部署时用到的命令,这里进行了简化,只管部署不管备份和还原Exec in pty:主要和sudo的使用有关,如果运行job时不出现“sudo: sorry, you must have a tty to run sudo”错误不用勾选,默认未勾选配置如下图: -
springboot maven打包静态资源文件
2018-12-20 13:58:05在springboot的maven打包后发现,jar保重没有包含静态的资源文件,静态资源位于src/main/webapp中,发现build中需要配置resource并增加这个路径: <build> <resources> <...在springboot的maven打包后发现,jar保重没有包含静态的资源文件,静态资源位于src/main/webapp中,发现build中需要配置resource并增加这个路径:
<build> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.*</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.*</include> </includes> <filtering>true</filtering> </resource> <resource> <directory>src/main/webapp</directory> <includes> <include>**/*.*</include> </includes> <filtering>true</filtering> </resource> </resources>
-
maven yuicompressor-maven-plugin 打包静态资源文件
2017-07-21 16:16:05maven 打包静态文件直接上代码
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>geexek_demo</groupId> <artifactId>geexek_demo</artifactId> <version>0.0.1</version> <packaging>jar</packaging> <build> <!-- 利用yuicompressor-maven-plugin 插件,当打包项目时,自动压缩文件 --> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>yuicompressor-maven-plugin</artifactId> <version>1.3.0</version> <executions> <execution> <goals> <goal>compress</goal> </goals> </execution> </executions> <configuration> <!-- 压缩文件编码 --> <encoding>GBK</encoding> <!-- 排除已压缩的文件,例如jquery-1.8.2.min.js --> <excludes> <exclude>**/**.min.js</exclude> </excludes> <!-- 不使用后缀 --> <nosuffix>true</nosuffix> <!-- 把文件压缩成一行 --> <linebreakpos>-1</linebreakpos> <!-- 指定需要压缩文件的目录,这是我的目录(修改为你自己的目录吧..) --> <sourceDirectory>${basedir}/assets</sourceDirectory> </configuration> </plugin> </plugins> <resources> <!-- 直接复制不用压缩的文件,图片,已经压缩的css,js --> <resource> <directory>${basedir}/assets</directory> <includes> <include>**/**.min.js</include> <include>**/images/**</include> </includes> </resource> </resources> </build> </project>
配置好后,运行mvn clean package ,就可以把想压缩的静态文件,成功压缩!!
-
maven之打包静态文件
2014-09-15 22:29:43将近太文件进行zip打包,实现动静分离 pom.xml [code="xml"] org.apache.maven.plugins maven-assembly-plugin 2.2 make-assembly package ...将近太文件进行zip打包,实现动静分离
pom.xml
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>${basedir}/static-zip.xml</descriptor>
</descriptors>
</configuration>
</execution>
</executions>
</plugin>
static-zip.xml
<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0">
<id>project</id>
<formats>
<format>zip</format>
</formats>
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${basedir}/target/static/xxx</directory>
<outputDirectory>project/pai</outputDirectory>
</fileSet>
</fileSets>
</assembly> -
maven 打包替换文件_Spring Boot使用Maven打包替换资源文件占位符
2020-12-30 22:52:36由于项目集成了其他外部系统资源文件,需要根据不同的环境实现加载不同的JS资源文件,处理这个问题首先想到的便是通过判断当前环境实现动态加载JS,但是,在应用打包的时候已经明确了部署环境,对于静态资源的引用也... -
Maven 打包项目移动静态文件到指定目录
2020-12-02 11:23:47org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <executions> <execution> <id>copy-resources</id> &... -
springboot+maven打包读取不到自定义静态文件
2018-04-26 09:48:26当把配置文件打包到jar包中. 明明读取路径正确, jar包中也有对应文件 却报FileNotFound.尝试使用这几种方案BufferedReader reader = null;reader = new BufferedReader(new FileReader(new ClassPathResou... -
maven打包忽略静态资源解决办法,dispatchServlet拦截静态资源请求的解决办法
2019-09-24 09:17:57问题: maven 打包时,有的文件打不进去...因为maven打包默认打Java文件。在项目中的pom文件中加build标签 <build> <resources> <resource> <directory>src/main/java</d... -
maven打包将配置和静态资源分离
2019-10-30 10:34:09项目使用maven打包后一般需要进行配置或者静态资源分离,可以使用 maven-assembly-plugin插件进行资源分离。 项目结构: pom文件: <build> <plugins> <plugin> <groupId>org.... -
springboot maven静态文件与lib包分离打包配置
2020-04-20 14:38:45本次打包根据网上找到多种的配置,最终生成我的可以使用的配置方法,可能与在座的各位可能不一致,但是我自身使用没有任何问题,不足之处请谅解,谢谢。 环境准备 springboot2.1.0.RELEASE jdk 1.8 1.设置pom.... -
maven打包分离依赖的jar包和静态资源
2020-07-10 15:46:05原文:SpringBoot项目使用maven打包分离依赖的jar包和静态资源,并将其压缩成zip文件 -
maven 利用 yuicompressor-maven-plugin 打包压缩静态资源文件
2012-11-22 17:25:30下面是利用 maven yuicompressor-maven-plugin 打包静态资源文件 费话不多说了,直接看配置文件就好了 现在我用的是 yuicompressor-maven-plugin 1.3.0,如果需要升级了,大家自己修改版本吧 ... -
java maven项目获取静态文件(针对项目打包后就找不到文件报错)
2019-10-31 19:11:53文件目录如下 InputStream trustcaInputStream = Resources.getResourceAsStream("cert/ca.jks");... 打开pom.xml,必须把文件加入打包,不然是找不到的 <resources> <resource> ... -
Spring Boot使用Maven打包替换资源文件占位符
2017-10-19 17:46:00由于项目集成了其他外部系统资源文件,需要根据不同的环境实现加载不同的JS资源文件,处理这个问题首先想到的便是通过判断当前环境实现动态加载JS,但是,在应用打包的时候已经明确了部署环境,对于静态资源的引用也... -
SpringBoot项目使用maven打包分离依赖的jar包和静态资源,并将其压缩成zip文件
2020-12-08 09:33:10<build> <plugins> <!-- 这个插件是用来打jar包的 --> <plugin> <groupId>org.apache.maven.plugins</groupId> ...maven-jar-plugin<...-- 将静态资源... -
SpringBoot-Maven打包压缩瘦身
2020-02-24 21:40:12Maven打包压缩瘦身一、Spring Boot 可执行 jar 分析1.1 打包1.2 两种 jar 的比较1.3 一次打包两个 jar二、SpringBoot迭代发布JAR瘦身配置三、引入内部编译的依赖四、Spring Boot Thin Launcher五、 maven的assembly... -
maven打包 springBoot 工程时,默认识别resources目录,习惯使用 resource 目录的需要手动指定静态资源目录...
2017-10-24 13:51:00最近项目开发,发现springBoot项目在使用maven打包时,我们静态资源文件都放在resource目录下面,大致如下: 在使用maven打包时,发现静态资源没有打进去。原来springBoot默认静态资源路径的时resources. 那解决... -
IDEA的maven项目中 静态文件编译的问题
2017-03-27 09:13:00IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到classes... -
IDEA的maven项目中静态文件编译的路径问题(未测试)
2018-04-04 09:21:32IDEA的maven项目中,默认源代码目录下的xml等资源文件并不会在编译的时候一块打包进classes文件夹,而是直接舍弃掉。 如果使用的是Eclipse,Eclipse的src目录下的xml等资源文件在编译的时候会自动打包进输出到... -
sprint boot 打包分离静态文件
2020-03-06 15:26:12spring boot 提供的打包方式,是把所有的文件打成一个jar包,静态文件无法分离出来 1.无法进行nginx动静分 2.jar过大,自己项目的代码其实很小,紧急更新上传很慢 故需要通过修改pom文件进行分离打包 直接放pom... -
maven 打包第三方依赖包
2016-11-14 20:09:00首先,简单介绍Maven。Maven是管理Java项目开发的工具,不是IDE,不是编译工具。...第一个作用,静态描述,即对POM文件所在的文件夹的(子)项目的介绍,比如该(子)项目的唯一标识(坐标),该子项... -
nginx 引用vue打包的静态文件_将vue打包到springboot静态资源中
2020-12-22 16:24:51项目中遇到需要将vue打包到spring boot ...具体做法如下:将vue工程放到spring boot工程最外层修改pom文件org.codehaus.mojoexec-maven-pluginnpm-build-backgroundverifyexec${npm.command}runprod-package${basedir... -
SpringBoot+Maven整合MyBatis时打包漏掉mapper的xml文件【解决resources调用静态资源失败404】
2021-04-01 16:24:27MyBatis打包遗漏mapper.xml文件解决方案 <!-- 原始方案【会导致静态资源调用失败】 --> <resources> <resource> <directory>src/main/resources</directory> <includes> &...
收藏数
167
精华内容
66