linux安装Jenkins

安装jdk/maven/tomcat

参照博客之前写的jdk和maven的安装
tomcat下载后解压可用

安装jenkins

先推荐jenkins中文官方文档看看https://www.jenkins.io/zh/doc/pipeline/tour/getting-started/

下载jenkins
wget http://ftp-nyc.osuosl.org/pub/jenkins/war-stable/2.222.4/jenkins.war

将war放到tomcat中运行即可
访问:
http://x.x.x.x:8080/jenkins

jar部署脚本

build下Goals and options内容

clean install -Dmaven.test.skip=true

本地部署 Post Steps中shell配置

选择编译成功后执行:
勾选:Run only if build succeeds

选择-->>执行shell,内容如下:
#避免任务完成后spring cloud工程自动关闭
#(如果不加这个变量,任务执行成功之后Spring Cloud工程会自动停止)
BUILD_ID=xxx
#先删除之前启动的进程
echo "kill $BUILD_ID … start"
#根据自己的工程的jar包查找进程
PROCESS="$(ps -ef|grep $BUILD_ID-0.0.1-SNAPSHOT.jar|grep -v grep|awk '{print $2}')"
if [[ -n $PROCESS ]];
then
echo "$BUILD_ID running… start kill…"
kill -9 $PROCESS
else
echo "$BUILD_ID not running"
fi
echo "kill $BUILD_ID … end"
#为了方便启动,将打好的jar包复制到同一个目录下
JAR_PATH="/usr/local/xxx"
echo "copy jars to $JAR_PATH… start"
#从Git上下载的源码的放到任务的工作空间中
WORKSPACE="/root/.jenkins/workspace/xxxxxx"
JAR_NAME=$BUILD_ID
TARGET_PATH="target"
#根据自己的Spring Cloud工程中打包的jar包名称匹配
#(也可以直接写死jar包的名称,比如这里我打好jar包的名称就是module的名称,#如demo-eureka.jar)
cd $WORKSPACE/$JAR_NAME/$TARGET_PATH
#EUREKA_JAR=$(ls |grep $JAR_NAME.jar)
echo "copy $JAR_NAME-0.0.1-SNAPSHOT.jar"
cp $JAR_NAME-0.0.1-SNAPSHOT.jar $JAR_PATH/$JAR_NAME-0.0.1-SNAPSHOT.jar
echo "copy jars to $JAR_PATH … end"
#启动工程
echo "start $BUILD_ID …"
#需要按照eureka/auth/zuul的顺序启动,这里采用sleep的方式等待前一个jar包启动完毕
#(这样做是有点问题的,无法保证前一个jar包成功启动,不过我没有找到其他方式,暂时先这样处理)
cd $JAR_PATH
nohup java -jar -Xms256m -Xmx512m $JAR_NAME-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev 2>&1 &
echo "waiting for $BUILD_ID start…"
sleep 15
echo "start $BUILD_ID … end"

远程服务器部署方式

全局配置设置远程服务器访问信息:

项目部署配置的 Post Steps信息:

vue部署脚本

本地直接基于nodejs启动,以dev的方式

编译部署shell:
BUILD_ID=xxx
#先删除之前启动的进程
echo "kill $BUILD_ID … start"
#根据自己的工程的jar包查找进程
PROCESS="$(ps -ef|grep $BUILD_ID|grep -v grep|awk '{print $2}')"
if [[ -n $PROCESS ]];
then
echo "$BUILD_ID running… start kill…"
kill -9 $PROCESS
else
echo "$BUILD_ID not running"
fi
echo "kill $BUILD_ID … end"
cd /root/.jenkins/workspace/$BUILD_ID
# 安装依赖
# npm install
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org
# 启动服务
echo "start $BUILD_ID …"
nohup npm run dev &

sleep 15

echo "start $BUILD_ID … end"

远程打包成静态内容到指定目录方式

这里打包方式和jar的远程部署方式原理一致(例子配图说明)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注