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 ------》入口
------------------个人能力有限,大家多交流,一起壮哉我大JAVA!------------------
如果你觉得本文对你有点帮助的话,记得在右下角点个“推荐”哦,博主在此感谢!