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

#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** [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82MSlwnj-1591435733621)(https://img-blog.csdn.net/20170727191118935?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVyMF9v/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)] 选择构建一个自由风格的软件项目就好,什么Subversion啊,这些根据需求自己设置,主要是构建步骤。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5WVcpRwk-1591435733622)(https://img-blog.csdn.net/20170727191803865?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvemVyMF9v/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)]

首先是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构建并部署执行就成功啦! ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200606172905312.jpeg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3plcjBfbw==,size_16,color_FFFFFF,t_70#pic_center)
  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值