1.常规配置
2.源码管理
3.构建触发器
4.构建环境
5.构建
6.构建后操作
结束
可能遇到的错误-----------------------------------
1.错误信息: using GIT_ASKPASS to set credentials
git请求地址改成ssh请求方式,或者使用下面命令修改git配置
git config --system --unset credential.helper
2.启动脚本(供参考)
#!/bin/bash
#待运行jar信息
#JAR_NAME=`ls *.jar|head -1`
JAR_NAME=$2
if [ "$JAR_NAME" = "" ]
then
echo "warn: 请指定需要运行的jar包: $0 {start|stop|restart|status} jar_name [port]"
exit 1
fi
APP_NAME=`basename $JAR_NAME .jar`
#JVM参数 -XX:+PrintGCDetails 打印垃圾回收详细信息 -XX:HeapDumpPath 不会自动创建
JVM_OPTS="-server -Xms500m -Xmx500m -XX:+DisableExplicitGC -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=256m -XX:MinHeapFreeRatio=40 -XX:MaxHeapFreeRatio=70 -XX:+UseG1GC -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:HeapDumpPath=/home/test/$APP_NAME.dump -XX:+PrintGCTimeStamps"
#支持指定端口运行
PORT=$3
source /etc/profile
#echo $JAVA_CMD
APP_VERSION=`echo $JAR_NAME | grep -o -E '[0-9][0-9\.]{1,6}[0-9]'`
#echo $JAR_NAME
#echo $APP_NAME
#echo $APP_VERSION
###################################
#初始化psid变量(全局)
psid=0
#用于检查程序是否处于运行状态
checkpid() {
javaps=`$JAVA_HOME/bin/jps -l | grep $JAR_NAME`
if [ -n "$javaps" ]; then
psid=`echo $javaps | awk '{print $1}'`
else
psid=0
fi
}
##################启动#################
start() {
checkpid
if [ $psid -ne 0 ]; then
echo "================================"
echo "warn: $APP_NAME already started! (pid=$psid)"
echo "================================"
else
echo "Starting $APP_NAME ..."
#su -
#$RUNNING_USER -c "$JAVA_CMD"
if [ "$PORT" = "" ]
then
nohup $JAVA_HOME/bin/java $JVM_OPTS -jar $JAR_NAME --spring.profiles.active=test >/dev/null 2>&1 &
else
nohup $JAVA_HOME/bin/java $JVM_OPTS -jar $JAR_NAME --server.port=$PORT >/dev/null 2>&1 &
fi
checkpid
if [ $psid -ne 0 ]
then
echo "[`date`] Startup $APP_NAME $APP_VERSION success.(pid=$psid)"
return 0
else
echo "[`date`] Startup $APP_NAME fail."
return 1
fi
fi
}
#################停止##################
stop() {
checkpid
if [ $psid -ne 0 ]; then
echo -n "Stopping $APP_NAME ...(pid=$psid) "
#su -
kill -9 $psid
if [ $? -eq 0 ]; then
echo "[OK]"
else
echo "[Failed]"
fi
checkpid
if [ $psid -ne 0 ]; then
stop
fi
else
echo "================================"
echo "warn: $APP_NAME is not running"
echo "================================"
fi
}
#################运行状态##################
status() {
checkpid
if [ $psid -ne 0 ]; then
echo "$APP_NAME is running! (pid=$psid)"
else
echo "$APP_NAME is not running"
fi
}
case "$1" in
'start')
start
;;
'stop')
stop
;;
'restart')
stop
start
;;
'status')
status
;;
*)
echo "Usage $0 {start|stop|restart|status} jar_name [port]"
exit 1
;;
esac