jenkins配置从git指定分支下载代码,打包部署jar包
1.如何构造一个jenkins部署?
1.1 目标
从git上指定分支下载代码,打包并发布到指定机器上,启动。
1.2 实现
如果已有项目,直接copy一份配置即可,修改一下即可使用
如果没有配置好的,见第二节。
2.配置jenkins
2.1 General
1)描述:项目描述
2)丢弃旧的构建----打勾
策略:Log Rotation
保持最大构建:5
参数化构建过程----打勾
构造参数project就是项目名,后续部署的时候各种文件目录都使用这个参数。所以要配置好了!!!
git 参数:
手动选择分支构建,定义了变量branch,对应git分支名。默认master分支。如下图:

2.2 git配置
主要是下载git代码的url。 http://username@ip:port/**.git 下面一行是username/password(配置好后是加密的星号)
指定下载分支$branch 就是上面配置的branch参数
如下图:

2.3 构建maven+最终执行脚本
maven:指定pom.xml 和参数
Post Steps:构建shell. ssh登录机器后 把构建好的jar包拷贝到指定目录下,最后运行机器上的启*.sh脚本启动java服务。

真实*.sh shell脚本如下:
#!/bin/bash
#
export JAVA_HOME=/usr/local/jdk1.8.0_221------》导入运行java所需要的环境变量
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar APP_NAME=${1} ------》定义参数:应用名,外部传入参数$project就是项目名
xms=256 ------》定义参数:启动内存
xmx=256 ------》定义参数:最大运行内存
APP_DIR=/data/app/${APP_NAME}------》定义参数:应用的绝对路径 start()
{
cd ${APP_DIR} -----》进入应用的绝对路径
pwd
/bin/nohup java -jar ${APP_DIR}/${APP_NAME}*.jar -Xms=${xms}m -Xmx=${xmx}m -XX:CompressedClassSpaceSize=128m -XX:+UseConcMarkSweepGC &
echo "${APP_NAME} is running !!!!" -----》启动命令 定义了运行内存,压缩空间,GC使用CMS ,最后打印 is running
} restart()
{
PID=`ps -ef|grep java|grep ${APP_NAME}|grep -v grep|awk '{print $2}'`
if [ "$PID" ]; then ------》1.如果存在进程,强杀了
kill -9 $PID
start ------》再启动
else ------》2.不存在进程,直接启动
start
fi
} restart ------》入口
jenkins配置从git指定分支下载代码,打包部署jar包的更多相关文章
- 【Android端】代码打包成jar包/aar形式
Android端代码打包成jar包和aar形式: 首先,jar包的形式和aar形式有什么区别? 1.打包之后生成的文件地址: *.jar:库/build/intermediates/bundles/d ...
- git学习心得之git跨分支提交代码
最近在工作中遇到了git跨分支提交代码的问题,本地拉的是远程master分支的代码,需要将本地修改代码提交到远程temp分支. 1.在gitlab上对相应项目fork本地分支 2.更新本地代码,将远程 ...
- java代码打包成jar以及转换为exe
教你如何把java代码打包成jar文件以及转换为exe可执行文件 1.背景: 学习java时,教材中关于如题问题,只有一小节说明,而且要自己写麻烦的配置文件,最终结果却只能转换为jar文件.实在是心有 ...
- 修改从Maven中心仓库下载到本地的jar包的默认存储位置及远程仓库
从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home}表示当前登录系统的用户目录(如"C:\Users\g ...
- 还在手动部署jar包吗?快速掌握Jenkins安装,教你使用Jenkins实现持续交付
Jenkins Jenkins: 开源软件项目 基于Java开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台, 便于软件的持续集成 基于Docker安装Jenkins 与 ...
- Maven学习总结(三):修改从Maven中心仓库下载到本地的jar包的默认存储位置
一:修改从Maven中心仓库下载到本地的jar包的默认存储位置 从Maven中心仓库下载到本地的jar包的默认存放在”${user.home}/.m2/repository”中,${user.home ...
- 如何将下载到本地的JAR包手动添加到Maven仓库,妈妈再也不用担心我下载不下来依赖啦
我们有时候使用maven下载jar包的时候,可能maven配置都正确,但是部分jar包就是不能下载下来,如果maven设置都不正确的,可以查看我的maven系列文章,这里仅针对maven配置正确,但是 ...
- 转:Maven介绍(创建工程项目以及下载所需要的jar包)
http://blog.csdn.net/guanghua2009/article/details/6644111 目前我还不太会用maven,慢慢学吧 目前就是用来下载自己要的jar包,先根据这篇转 ...
- 将Java代码打包成jar文件转换为.exe可执行程序方法
做完学生管理系统后我想将代码打包成一个可执行程序,那样就可以直接点击在Windows下运行了,下面就跟大家分享下打包方法. 将Java的代码转换成 .exe 文件需要先把代码打包成 jar 文件然 ...
- 使用git克隆指定分支的代码
今天想学习一下开源中国Android客户端的app源码,源码的Git地址:http://git.oschina.net/oschina/android-app,如下图所示: 由于Master主分支上没 ...
随机推荐
- C++ Qt开发:运用QJSON模块解析数据
Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍如何运用QJs ...
- 遥感图像处理笔记之【Сrор field boundary detection: approaches and main challenges】
遥感图像处理学习(6) 前言 遥感系列第6篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2023年12月16日 2024年1月24日搬运至本人博客园平台 文章标题:Сrор field b ...
- MySQL8.0清空binlog
环境 centos7.9 mysql Ver 8.0.32 登录MySQL,查看binlog日志 #查看binlog日志开启状态,log_bin值为ON表示开启状态 mysql> show v ...
- 谁更适合搭配甜点显卡?i7-13700KF、锐龙7 7800X3D对比:游戏相当 生产力Intel强了50%
一.前言:如果搭配2000元甜点显卡 i7-13700KF和锐龙7 7800X3D谁更有性价比? 现在AMD最受欢迎的处理器无疑是拥有96MB三级缓存的锐龙7 7800X3D,这是一颗专为游戏而生的处 ...
- P8078 [WC2022] 秃子酋长题解
题目链接: P8078 [WC2022] 秃子酋长 题目所求较难理解,我们考虑转化下,首先这是个 \(1 \sim n\) 的排列,而且要求相邻对应的原位置的绝对值最大我们先考虑最简单的一种情况:\( ...
- Python初学(请大神多多指教)
python的注释单行注释用#号多行注释用''' '''注释 基本数据类型 字符串-- n1 = "alex" n2 = 'root' n3 = " ...
- SpringBoot中优雅地实现统一响应对象
目录 前言 实现步骤 定义统一响应对象类 定义一个忽略响应封装的注解 实现ResponseBodyAdvice接口 定义Controller类 总结 前言 近日心血来潮想做一个开源项目,目标是做一款可 ...
- Git Q&A
git入门 Q: 什么是git ? A: git是一种版本控制工具,也是程序员的"后悔药":当你在工程中写入一堆混乱的代码后,只要通过几行简单的git命令,就可以回退到任意一个提交 ...
- Hive数据导入与导出
数据导入 ● 本地文件导入 -- 本地文件导入(local) LOAD DATA local INPATH '/home/hadoop/sourceA.txt' INTO TABLE testA PA ...
- Mobx与Redux的异同
Mobx与Redux的异同 Mobx与Redux都是用来管理JavaScript应用的状态的解决方案,用以提供在某个地方保存状态.修改状态和更新状态,使我们的应用在状态与组件上解耦,我们可以从一个地方 ...