java 程序需要使用构建工具,如:maven,ant,gradle等进行构建打包才能部署,其中maven比较流行。
以下以 maven 为例实现 Java 应用部署
![图片[1]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-248.png)
web服务为tomcat服务器,目录结构规划如下
/data/tomcat/appdir #保存web压缩包
/data/tomcat/webdir #保存解压后的web目录
/usr/local/tomcat/webapps #tomcat工作目录,存放上面目录中子目录的软链接
1、Gitlab仓库中准备 Java 代码
在gitlab新建 java 项目
https://gitee.com/lbtooth/hello-world-war.git
![图片[2]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-249.png)
![图片[3]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-250.png)
![图片[4]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-251.png)
2、安装 tomcat 服务器和配置
部署java应用至tomcat服务器,并需要提前创建用户和授权
# 安装tomcat
# 配置远程连接权限
[root@web1 ~]# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
# 注释下面行
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
-->
# 创建用户和授权
[root@web1 ~]# vim /usr/local/tomcat/conf/tomcat-users.xml
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat" roles="manager-gui,manager-script"/>
# 加上面三行
</tomcat-users>
[root@web1 ~]# systemctl restart tomcat.service
3、Jenkins 安装 Maven 和 Tomcat 插件
Maven 插件实现Maven风格的任务
![图片[5]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-252.png)
Deploy to container 插件实现连接 tomcat
![图片[6]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-253.png)
4、Jenkins 服务器上安装 maven 和配置镜像加速
# 镜像加速
[root@jenkins01 ~]# yum install -y maven
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
# 查看相关变量值
[root@jenkins01 ~]# mvn --version
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
Java version: 1.8.0_352, vendor: Red Hat, Inc.
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.el7.x86_64", arch: "amd64", family: "unix"
5、Jenkins 全局工具配置 JDK 和 Maven
![图片[7]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-254.png)
![图片[8]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-255.png)
6、创建 Tomcat 的全局凭据
根据tomcat的用户权限配置,创建jenkins连接tomcat的用户和权限
![图片[9]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-256.png)
![图片[10]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-257.png)
![图片[11]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-258.png)
7、创建 Maven 风格的任务
![图片[12]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-259.png)
![图片[13]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-260.png)
输入maven的编译选项
clean package -Dmaven.test.skip=true
![图片[14]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-261.png)
![图片[15]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-262.png)
![图片[16]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-263.png)
![图片[17]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-264.png)
![图片[18]-实现 Java 应用源码编译并部署-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2022/12/image-265.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END