Jenkins 构建maven工程打成jar包并执行
2017-07-27 19:42
423 查看
Jenkins 构建maven工程打成jar包并运行
- 0x00 前言继续上午的坑爹部署后,打算将需要执行的jar包用Jenkins构建并运行。
- 0x01 思路
1. 使用maven的maven-shade-plugin插件,把maven项目的各种依赖jar包统统打包,生成.jar文件。
2. 通过Jenkins持续集成构建项目。
3. 停止之前运行的jar包。
4. Jenkins构建后生成的jar包替换掉到我指定的文件夹中的旧的jar包。
5. 运行jar包。
- 0x02 maven打包插件
在pom.xml中添加如下配置
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4.1</version> <configuration> <createDependencyReducedPom>false</createDependencyReducedPom> </configuration> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <mainClass>com.tooldin.main.ActiveMQMain</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
- 0x03 配置Jenkins
选择构建一个自由风格的软件项目就好,什么Subversion啊,这些根据需求自己设置,主要是构建步骤。
首先是Invoke top-level Maven targets
其次是Execute Shell,我这服务器用的ubuntu,所以Execute Shell
Command部分
#!/bin/bash cd /home/deploy-mq/ ./stop.sh ./replace.sh echo "Execute shell Finish" BUILD_ID=dontKillMe nohup /home/deploy-mq/startup.sh &
这里需要三个文件,分别是 stop.sh, replace.sh, startup.sh
放在/home/deploy-mq目录中
stop.sh
echo "Stopping tooldin-mq" pid=`ps -ef | grep tooldin-mq.jar | grep -v grep | awk '{print $2}'` if [ -n "$pid" ] then echo "kill -9 的pid:" $pid kill -9 $pid fi
replace.sh
cp /var/lib/jenkins/workspace/tooldin-mq/target/tooldin-mq.jar /home/deploy-mq
startup.sh
java -jar /home/deploy-mq/tooldin-mq.jar
-0x04 结束
经过一细节的配置, 再尝试构建, Jenkins输出了 Finished: SUCCESS, 并亮起了小太阳, 鸡冻。自此,maven工程就打成jar包,通过Jenkins构建并部署执行就成功啦!
相关文章推荐
- 构建maven工程打包成jar在hadoop上执行
- Jenkins 构建maven工程打成jar包并运行
- [Maven]Maven构建可执行的jar包(包含依赖jar包)
- 使用maven 构建dubbo服务的可执行jar包
- 基于maven构建dubbo服务的可执行jar包
- Maven使用maven-shade-plugin对java工程及其全部依赖打包可执行jar
- maven 构建可执行 jar ,并引入所需所有依赖 jar
- 使用Maven构建dubbo服务可执行的jar包--待完善
- ECLIPSE中MAVEN构建spring 多模块工程jar包不能自动扫描问题解决办法
- maven插件构建可执行jar以及maven插件tip
- Dubbo服务的运行方式(使用maven构建dubbo可执行的jar包)
- 使用 maven 插件 maven-shade-plugin 对可执行 java 工程及其全部依赖 jar 进行打包
- Maven- 使用Maven构建一个可执行jar
- Dubbo-使用Maven构建Dubbo服务的可执行jar包
- maven-assembly-plugin把java工程打包成为一个可执行的jar包
- Dubbo之使用Maven构建服务的可执行jar包
- Jenkins之——构建Java Maven项目(Jar)并发布到远程服务器
- maven-assembly-plugin把java工程打包成为一个可执行的jar包
- jenkins--windows构建maven项目,并自动打成jar包
- jenkins部署maven项目构建后部署前执行shell脚本