安装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的远程部署方式原理一致(例子配图说明)