1.打包

与平常maven项目打包一致,不再赘述

2.杀死原有进程

通过

  1. pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `

获取当前进程的pid

然后通过kill -9杀死

3.脚本执行java -jar xxx.jar

脚本中执行此命令,在系统中发现并没有运行。

但是将所有命令放这sh脚本中执行,没有任何问题(到Jenkins的workspace下直接sh执行)

经查询资料发现,Jenkins在执行完命令后,会杀死所有的子进程。

所以,需要在运行java -jar前添加一句

  1. BUILD_ID=DONTKILLME

防止Jenkins杀死执行java -jar的子进程

4.完整脚本

  1. #!/bin/sh
  2. mvn package
  3.  
  4. APP_NAME=jiramail.jar
  5.  
  6. path=`pwd`
  7. pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
  8. if [ -n "${pid}" ]; then
  9. kill - $pid
  10. fi
  11. #cp ./target/jiramail-0.0.-SNAPSHOT.jar /home/yuhaokui/jiramail.jar
  12. mv ${path}/target/jiramail-0.0.-SNAPSHOT.jar ${path}/target/jiramail.jar
  13. BUILD_ID=DONTKILLME
  14. java -jar ${path}/target/jiramail.jar --server.port= &

Jenkins自动打包并部署(以java -jar形势运行)的更多相关文章

  1. 基于jenkins自动打包并部署Tomcat环境

    传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...

  2. jenkins#自动构建并部署springboot的jar包

    1.GitLab 8.0.0(版本比较低,配置比较简单) 配置 点击项目 --> settings --> web Hooks 2.jenkins配置

  3. 基于jenkins自动打包并部署docker环境

    一.实验环境 git                      192.168.200.71 jenkins    192.168.200.72 docker               192.16 ...

  4. 基于jenkins自动打包并部署docker环境及PHP环境

  5. Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.java

    Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...

  6. Jenkins自动打包配置

    当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下. 1.安装Jenkins,这个很简单,不需要多说. 2.下载Git Plugin,Gradle Plugin,Andro ...

  7. Android Jenkins自动打包纪录

    关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...

  8. mac下git+maven+jenkins自动打包发布

    随着springboot+springcloud(dubbo)越来越多人使用,流行的微服务的概念越来越深入人心.分布式部署越来越复杂,给手动发布带来很大工作量.为了方便前期测试和后期线上部署更新,可使 ...

  9. jenkins自动打包生成docker镜像后自动发布并nginx代理访问

    之前曾写过docker及jenkins基础使用  https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...

随机推荐

  1. zabbix监控httpd进程、添加动作、报警媒介类型

    1.在server_agent端创建脚本 mkdir -p /usr/local/etc/zabbix_scripts vi /usr/local/etc/zabbix_scripts/check_h ...

  2. java:Spring框架3(AOP,SSH集成Demo)

    1.AOP: Spring提供了4种实现AOP的方式: 1.经典的基于代理的AOP 2.@AspectJ注解驱动的切面 3.纯POJO切面 4.注入式AspectJ切面 aop.xml: <?x ...

  3. 自动部署脚本-bash

    from here !/bin/bash Check if user is root if [ $(id -u) != "0" ]; then Echo_Red "Err ...

  4. 使用 Unity* 进行并行处理的一种方法

    本文展示如何使用 Unity* 对游戏进行并行处理,以及如何使用游戏引擎执行与游戏相关的物理.在这个领域内,现实感是成功的一个重要标志.为了模拟真实世界,许多动作需要同时发生,这需要并行处理.创建两个 ...

  5. Mac_Navicat Premium连接MySQL错误2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found

    mac下MySql启动连接报错:Authentication plugin ‘caching_sha2_password’ cannot be loaded: dlopen(/usr/local/my ...

  6. Java不可变序列String和可变序列StringBuilder、StringBuffer

    String String变量是不可变的,源码里面用了final修饰. private final char value[]; String str = "Hello"; Syst ...

  7. 运行RGB-DSLAM的一些报错及处理方法

    part 4 报错‘create’ is not a menber of 'CV::FeatureDetector::create(detector.c_str()); 查看opencv版本 修改Cm ...

  8. 【转】mysql索引的探究

    转自:https://mp.weixin.qq.com/s/XTu7jERv3A0CIAzlECFnlA 相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结 ...

  9. WordPress 在Ubuntu下安装插件、主题输入FTP后无法创建目录

    最近自己在搞基于lnmp+wordpress的个人博客, 一切都就绪后,想改变下自己的主题,然后去Wordpress里面内置的主题安装下载的时候,提示:无法创建目录! 一般我们在Ubuntu系统上面安 ...

  10. [BJWC2008] Gate Of Babylon

    题目链接 容斥+隔板法+Lucas定理 #include <bits/stdc++.h> using namespace std; const int N=1e5+10; int n,m, ...