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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐