只会一点java

java持续学习者,每月一篇博客。罗列出技术栈,慢慢完善,持续学习,总有一天,你会追上甚至超越曾经的大神。
  博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

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                   ------》入口