本文依赖环境如下:
windows: jenkins+maven+svn+nodejs
linux: docker+nginx+vue
构建思路:windows上安装jenkins,从svn检出到win本机,通过maven构建命令后推送到linux上;
一、安装jenkins
安装推荐插件,再额外安装Maven Integration、SSH、Publish Over SSH、nodejs等插件,并且配置好对应的环境变量;
二、新建item
里边涉及的主要的脚本
#!/bin/bash
#docker 镜像/容器名字 这里都命名为这个(自定义)
IMAGES_PREFIX=lh
SERVER_NAME=***-file
#日志存放的路径
BASE_PATH=/usr/local/soft/***/$SERVER_NAME/logs
#端口
PORT=9005
#容器id
CID=$(docker ps -a | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images -a | grep "$SERVER_NAME" | awk '{print $3}')
# 构建docker镜像
function build(){
if [ -n "$IID" ]; then
docker stop $CID
docker rm $CID
docker rmi $IID
echo "Deleted, Will start building images"
else
echo "Will start building images"
fi
}
# 运行docker容器
function run(){
echo "build ..."
build
echo "docker run ..."
if [ -n "$CID" ]; then
docker stop $CID
docker rm $CID
docker run -d -p $PORT:$PORT --name $SERVER_NAME --net host -v $BASE_PATH:/logs/ $IMAGES_PREFIX/$SERVER_NAME
echo "$SERVER_NAME container restart complete"
else
docker run -d -p $PORT:$PORT --name $SERVER_NAME --net host -v $BASE_PATH:/logs/ $IMAGES_PREFIX/$SERVER_NAME
echo "$SERVER_NAME container creation complete"
fi
}
#入口
run
以上是处理后台springboot服务的;
集成vue前端的大体思路一致,主要就是多了推送到linux的一个步骤:
Source files:windows服务器对应的路径,
Remote directory:linux服务的路径
参考文档: