Jenkins自动打包并部署(以java -jar形势运行)
1.打包
与平常maven项目打包一致,不再赘述
2.杀死原有进程
通过
- 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前添加一句
- BUILD_ID=DONTKILLME
防止Jenkins杀死执行java -jar的子进程
4.完整脚本
- #!/bin/sh
- mvn package
- APP_NAME=jiramail.jar
- path=`pwd`
- pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
- if [ -n "${pid}" ]; then
- kill - $pid
- fi
- #cp ./target/jiramail-0.0.-SNAPSHOT.jar /home/yuhaokui/jiramail.jar
- mv ${path}/target/jiramail-0.0.-SNAPSHOT.jar ${path}/target/jiramail.jar
- BUILD_ID=DONTKILLME
- java -jar ${path}/target/jiramail.jar --server.port= &
Jenkins自动打包并部署(以java -jar形势运行)的更多相关文章
- 基于jenkins自动打包并部署Tomcat环境
传统网站部署的流程 在运维过程中,网站部署是运维的工作之一.传统的网站部署的流程大致分为:需求分析->原型设计->开发代码->提交代码->内网部署->内网测试->确 ...
- jenkins#自动构建并部署springboot的jar包
1.GitLab 8.0.0(版本比较低,配置比较简单) 配置 点击项目 --> settings --> web Hooks 2.jenkins配置
- 基于jenkins自动打包并部署docker环境
一.实验环境 git 192.168.200.71 jenkins 192.168.200.72 docker 192.16 ...
- 基于jenkins自动打包并部署docker环境及PHP环境
- Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.java
Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...
- Jenkins自动打包配置
当时也是花费了不少时间来配置Jenkins自动打包的问题,觉得还是需要记录一下. 1.安装Jenkins,这个很简单,不需要多说. 2.下载Git Plugin,Gradle Plugin,Andro ...
- Android Jenkins自动打包纪录
关于Jenkins自动打包Android的apk包,网上官方的太多,这里简单纪录一下博主的经历和打包的参数纪录 (本篇文章需要对Jenkins有最基本的基础了解) 博主所在公司曾负责app测试过程中发 ...
- mac下git+maven+jenkins自动打包发布
随着springboot+springcloud(dubbo)越来越多人使用,流行的微服务的概念越来越深入人心.分布式部署越来越复杂,给手动发布带来很大工作量.为了方便前期测试和后期线上部署更新,可使 ...
- jenkins自动打包生成docker镜像后自动发布并nginx代理访问
之前曾写过docker及jenkins基础使用 https://www.cnblogs.com/xiaochangwei/category/816943.html 现在搭建环境的功能为: 1.jen ...
随机推荐
- zabbix监控httpd进程、添加动作、报警媒介类型
1.在server_agent端创建脚本 mkdir -p /usr/local/etc/zabbix_scripts vi /usr/local/etc/zabbix_scripts/check_h ...
- java:Spring框架3(AOP,SSH集成Demo)
1.AOP: Spring提供了4种实现AOP的方式: 1.经典的基于代理的AOP 2.@AspectJ注解驱动的切面 3.纯POJO切面 4.注入式AspectJ切面 aop.xml: <?x ...
- 自动部署脚本-bash
from here !/bin/bash Check if user is root if [ $(id -u) != "0" ]; then Echo_Red "Err ...
- 使用 Unity* 进行并行处理的一种方法
本文展示如何使用 Unity* 对游戏进行并行处理,以及如何使用游戏引擎执行与游戏相关的物理.在这个领域内,现实感是成功的一个重要标志.为了模拟真实世界,许多动作需要同时发生,这需要并行处理.创建两个 ...
- 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 ...
- Java不可变序列String和可变序列StringBuilder、StringBuffer
String String变量是不可变的,源码里面用了final修饰. private final char value[]; String str = "Hello"; Syst ...
- 运行RGB-DSLAM的一些报错及处理方法
part 4 报错‘create’ is not a menber of 'CV::FeatureDetector::create(detector.c_str()); 查看opencv版本 修改Cm ...
- 【转】mysql索引的探究
转自:https://mp.weixin.qq.com/s/XTu7jERv3A0CIAzlECFnlA 相信很多人对于MySQL的索引都不陌生,索引(Index)是帮助MySQL高效获取数据的数据结 ...
- WordPress 在Ubuntu下安装插件、主题输入FTP后无法创建目录
最近自己在搞基于lnmp+wordpress的个人博客, 一切都就绪后,想改变下自己的主题,然后去Wordpress里面内置的主题安装下载的时候,提示:无法创建目录! 一般我们在Ubuntu系统上面安 ...
- [BJWC2008] Gate Of Babylon
题目链接 容斥+隔板法+Lucas定理 #include <bits/stdc++.h> using namespace std; const int N=1e5+10; int n,m, ...