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主分支上没 ...
随机推荐
- 为mac搭建开发环境的笔记
公司的游戏项目需要出ios包上架到app store,由我负责接入ios的sdk,这里记录一下为mac搭建开发环境的笔记,大多是软件和编程习惯相关的内容. 常用软件 解压缩软件:bandizip在ma ...
- 大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求
大规模语言LLaVA:多模态GPT-4智能助手,融合语言与视觉,满足用户复杂需求 一个面向多模式GPT-4级别能力构建的助手.它结合了自然语言处理和计算机视觉,为用户提供了强大的多模式交互和理解.LL ...
- 【二】分布式训练---参数服务器训练(飞桨paddle1.8)
1.参数服务器训练简介 参数服务器训练是分布式训练领域普遍采用的编程架构,主要解决以下两类问题: 模型参数过大:单机内存空间不足,需要采用分布式存储. 训练数据过多:单机训练太慢,需要加大训练节点,来 ...
- unordered_map模拟实现|STL源码剖析系列|开散列
博主很久没有更新过STL源码剖析这个系列的文章了,主要是因为大部分STL常用的容器,博主都已经发过文章了,今天博主带着大家把哈希表也模拟实现一下. 前言 那么这里博主先安利一下一些干货满满的专栏啦! ...
- 【C语言深度解剖】一篇解决程序的环境【编译+链接详解】让面试官给我们竖起大拇指
文章目录 程序的翻译环境 翻译环境详解 编译 预编译 编译 汇编 关于形成符号表 链接 运行环境 尾声 [C语言深度解剖][Linux操作系统]程序的环境[编译+链接详解] 那么这里博主先安利一下一些 ...
- javascript按钮通过cookie限制60s后才可以点击
javascript按钮通过cookie限制60s后才可以点击 1️⃣ 首先创建一个html页面,放入一个按钮 2️⃣ 设置点击按钮的触发函数 一般当点击按钮都会有一些业务需要,在需求结束后,触发sa ...
- 新零售SaaS架构:促销系统架构设计
促销业务概述 什么是促销? 促销是商家用来吸引消费者购物的一种手段,目的是让更多的人知道并购买他们的产品,这样就能卖得更多.促销的方法有很多种,比如,价格优惠.赠品.优惠券.折扣.买一赠一等形式. 特 ...
- go中的 4种 for循环
package main import "fmt" func main() { // 第一种写法 for i := 1;i < 10; i++ { fmt.Println(& ...
- UVALive7146 Defeat the Enemy
题目链接 题目 见链接. 题解 知识点:贪心,STL. 首先要保证我方军队能消灭对方军队才行,因此只要我们按攻击力从大到小排,对方按防御力从大到小排,从大到小遍历,用我方所有攻击力大于敌方目前防御力军 ...
- 蔚来杯2022牛客暑期多校训练营2 GJK
比赛链接 G 题解 知识点:思维. \(lds(p)\) 表示最小上升子序列分划数 (Dilworth 定理) \(lis(p)\cdot lds(p) \geq n \Rightarrow max ...