您的位置:首页 > 其它

Jenkins 构建maven工程打成jar包并运行

2017-10-24 17:08 507 查看
- 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>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

- 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 &
1
2
3
4
5
6

这里需要三个文件,分别是 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
1
2
3
4
5
6
7

replace.sh
cp /var/lib/jenkins/workspace/tooldin-mq/target/tooldin-mq.jar /home/deploy-mq
1

startup.sh
java -jar /home/deploy-mq/tooldin-mq.jar
1

-0x04 结束 

经过一细节的配置, 再尝试构建, Jenkins输出了 Finished: SUCCESS, 并亮起了小太阳, 鸡冻。自此,maven工程就打成jar包,通过Jenkins构建并部署执行就成功啦!
http://blog.csdn.net/zer0_o/article/details/76217945
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jenkins maven