jenkins部署vue和tomcat项目

文章目录

    • Jenkins使用方法
        • Jenkins安装、启动
        • Jenkins配置
        • 部署前端vue项目
        • 部署后端项目
    • 附录
        • tomcat热部署
        • 简单的重启shell脚本

Jenkins使用方法

Jenkins安装、启动

  • 官网下载war包,放到指定目录,后台启动
cd /develop/server/jenkins/
nohup java -jar jenkins.war >nohup.out --httpPort=8888 &
  • 访问http://192.168.157.133:8888/

  • 修改密码为123456

vim /root/.jenkins/users/admin/config.xml
<hudson.security.HudsonPrivateSecurityRealm_-Details>     <passwordHash>#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSqpasswordHash>
hudson.security.HudsonPrivateSecurityRealm_-Details>

Jenkins配置

  • 手动安装插件

https://wiki.jenkins.io/display/JENKINS/Plugins 插件下载位置

Jenkins -> Manage Jenkins -> Manage Plugins -> Advanced -> Upload Plugin

插件:pipeline-maven、nodejs、subverion、git等

  • 配置全局工具

Jenkins -> Manage Jenkins -> Global Tool Configuration

配置maven、jdk、git、nodejs

部署前端vue项目

部署后端项目

  • 创建springboot-demo项目,为了演示如何部署tomcat,该项目需打包成war,而不是jar。

Jenkins -> New Item -> 项目名(springboot-demo)-> Freestyle project

  • 配置仓库位置

Jenkins -> springboot-demo -> Configure -> Git

  • 创建触发器(即定时build项目)

Jenkins -> springboot-demo -> Configure -> Build Triggers

​ -> Build periodically -> Schedule -> cron表达式

  • 构建

Jenkins -> springboot-demo -> Configure -> Build -> Invoke top-level Maven targets

  • 构建后的操作

Jenkins -> springboot-demo -> Configure -> Post-build Actions

​ -> Deploy war/ear to a container(部署到容器,如tomcat,这里会用到tomcat热部署,请参考附录的热部署详解)

  • 立即构建

Jenkins -> springboot-demo -> Build Now

附录

tomcat热部署

以tomcat8为例,演示如何进行热部署

  • 编辑/develop/server/apache-tomcat-8.5.11/webapps/manager/META-INF/context.xml


  • 编辑/develop/server/apache-tomcat-8.5.11/conf/tomcat-users.xml
  
  <role rolename="tomcat-gui"/>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <role rolename="admin-gui"/>
  <role rolename="admin-script"/>
  <user username="tomcat" password="123456" roles="tomcat-gui,manager-gui,manager-	   script,admin-gui,admin-script"/>
  • 访问ip:port/manager,并输入密码即可。

简单的重启shell脚本

#!/bin/sh
#kill tomcat pid
export BUILD_ID=apache-tomcat-8.5.11_build_id

pidlist=`ps -ef | grep apache-tomcat-8.5.11 | grep -v "grep" | awk '{print $2}'`
function stop() {
if["$pidlist" == ""]
  then
    echo "tomcat已经关闭"
  
  else
    echo "tomcat进程号:$pidlist"
    kill -9 $pidlist
    echo "杀死$pidlist"
fi
}

stop
# 二次判断是否关闭成功
pidlist2 = `ps -ef | grep apache-tomcat-8.5.11 | grep -v "grep" | awk '{print $2}'`
if["$pidlist2" == ""]
  then
    echo "tomcat成功关闭"
  
  else
    echo "tomcat关闭失败"
fi

# 删除
rm -rf /develop/server/apache-tomcat-8.5.11/webapps/ROOT/*
# 复制
cp -r xxx/war/ /develop/server/apache-tomcat-8.5.11/webapps/ROOT
# 启动
cd /develop/server/apache-tomcat-8.5.11 && ./bin/startup.sh
# 日志
cd /develop/server/apache-tomcat-8.5.11 && tail -f logs/catalina.out

你可能感兴趣的:(jenkins)