安装Tomcat
上传apache-tomcat-8.5.53.tar.gz到安装tomcat的服务器上解压java tar -zxvf apache-tomcat-8.5.53.tar.gz
解压到 /usr/local/tomcat/apache-tomcat-8.5.53目录下linux
修改/usr/local/tomcat/apache-tomcat-8.5.53/tomcat-users.xml文件,添加用户和密码git
这里我写的是root,这个用户是能够随便写的web
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
修改/usr/local/tomcat/apache-tomcat-8.5.53/server.xml文件,添加项目spring
这里是能够添加多个的apache
unpackWARs="true" autoDeploy="true">
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
在Tomcat conf/Catalina/localhost目录下建立一个manager.xml文件,容许远程访问manager站点:(踩坑提示:此步骤是Tomcat 8.5中特有的,若是不配置的话老是遇到异常:Server returned HTTP response code: 403 for URL: http://test.mest.my:8080//manager/text/list)vim
vim manager.xmltomcat
配置Jenkins服务器的环境变量
配置jdk,上传linux版本的jdk压缩包解压到该目录
配置git
若是执行该命令不显示git执行文件路径,那么就在线安装gitbash
apt install git服务器
配置mavan,上传linux版本的mavan解压到该目录
maven的settings.xml配置文件使用nexus的私服配置
配置JDK和MAVEN环境变量 vim /etc/profile
# 在文件末尾添加以下内容,保存
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
export MAVEN_HOME=/usr/local/maven
export JRE_HOME=/usr/local/java/jdk1.8.0_231/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$PATH:$HOME/bin
刷新环境变量,让修改后的文件生效
source /etc/profile
Jenkins中下载须要的插件
安装maven插件
安装 Deploy to container Plugin
该插件主要运用在Java项目中,功能是“将成功编译的War/Jar包部署到远程的应用服务器上
Jenkins全局工具配置
Jenkins中配置JDK
Jenkins中配置Git
Jenkins中配置Maven
Jenkins中构建Maven工程
建立一个maven项目
链接git仓库
用户和密码是gitlab中的用户名和密码
Maven构建命令
clean install -Dmaven.test.skip=true
构建后操做发送到远端tomcat服务器中
此处的用户名和密码和远程tomcat中的tomcat-users.xml的用户和密码对应
查看构建日志和访问tomcat
Jenkins构建Spring-Boot项目的jar包部署到远程服务器上
安装Publish Over SSH插件
系统配置
具体项目构建设置
在远端服务器tomcat上建立文件目录
mkdir -p /usr/local/spring-boot/admin-service/admin-service-jar cd /usr/local/spring-boot/admin-service
vim start.sh
#!/bin/bash
#必需要定义一下JAVA_HOME否则下面的java找不到,致使不执行
export JAVA_HOME=/usr/local/java/jdk1.8.0_231
echo ${JAVA_HOME}
chmod 777 /usr/local/spring-boot/admin-service/admin-service-jar/admin-service-1.0.0-SNAPSHOT.jar
echo "执行...."
cd /usr/local/spring-boot/admin-service/admin-service-jar
nohup ${JAVA_HOME}/bin/java -jar admin-service-1.0.0-SNAPSHOT.jar > /dev/null &
echo "启动成功"
vim stop.sh
#!/bin/bash
echo "stop SpringBoot admin-service"
pid=`ps -ef | grep admin-service-1.0.0-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
echo "旧应用进程id:$pid"
if [ -n "$pid" ]
then
kill -9 $pid
fi
构建访问部署的项目
Jenkins构建Spring-Boot项目的war包部署到远程服务器上没法访问的解决问题
在启动类中添加启动配置类 @SpringBootApplication
public class ProviderAdminApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(ProviderAdminApplication.class, args);
}
/**
*新增此方法
*/
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
// 注意这里要指向原先用main方法执行的Application启动类
return builder.sources(ProviderAdminApplication .class);
}
}