• Post author:
  • Post category:jenkins
  • Post comments:0评论
1

  前面我们学习了 Jenkins 的基本使用,接下我们将结合前面学习的内容来使用 Jenkins 部署 java 项目。其实基本上和前面的 html 例子差不多,只是多了 maven 编译的过程。
  整体流程为:开发提交 java 源码到 gitlab 代码仓库 => jenkins 拉取代码并 maven 编译 => jenkins 部署编译生成的war包到web集群。
  首先因为 jenkins 需要调用 maven 编译 java 项目代码生成war包,我们需要在 jenkins 服务器上安装 jdk 和 maven,同时还要在 jenkins 中配置jdk 和 maven 的家目录来让 jenkins 可以调用 maven 进行编译。

[root@jenkins ~]# yum install -y java maven
[root@jenkins ~]# mvn --version
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
Java version: 1.8.0_275, vendor: Red Hat, Inc.
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.275.b01-0.el7_9.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"

# maven换源
[root@jenkins ~]# vim /etc/maven/settings.xml   # 修改一下配置,找到<mirrors>,将配置包含在<mirrors>中
  <mirrors>

    <mirror>
      <id>AliMaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

  </mirrors>

打开系统管理全局 => 全局工具配置,配置 jdk 和 maven 的家目录。

  此时我们在 gitlab 有个名为 web-java 的java项目代码仓库,开发将写好的代码上传到这个仓库,此时有两个版本分别是 v1.1 和 v1.2。注:点击下载 java项目代码
  我们在 web 节点准备下 java 项目需要的环境,然后手动部署下 java 项目。

# maven编译java代码生成war包
[root@jenkins ~]# unzip web-java-master.zip 
[root@jenkins ~]# cd web-java-master/
[root@jenkins web-java-master]# mvn package
[root@jenkins web-java-master]# scp -rp /root/web-java-master/target/hello-world-1.0.0.war 10.0.0.7:/root

# web节点手动部署
[root@web01 ~]# yum install -y tomcat java
[root@web01 webapps]# cd /var/lib/tomcat/webapps/   # tomcat默认的站点目录,代码必须放在这个目录的ROOT目录下
[root@web01 webapps]# mkdir hello-world
[root@web01 webapps]# unzip /root/hello-world-1.0.0.war -d ./hello-world/
[root@web01 webapps]# ln -s hello-world ROOT
[root@web01 webapps]# chown -R tomcat.tomcat ./*
[root@web01 webapps]# systemctl start tomcat
[root@web01 webapps]# curl 10.0.0.7:8080
<html>
<head>
<title>Hello World!</title>
</head>
<body>
  <h1>Hello World!</h1>
  <p>
    Now the time is Wed Dec 30 08:46:17 EST 2020
  </p>
  <p>
    You're from 10.0.0.7
  </p>
</body>

  创建一个名为 web-java 的项目,项目的类型我们不再选择自由风格,而是选择构建一个 maven 项目,这个选项我们是需要安装 “Maven Integration” 插件才能支持。

具体配置:

脚本:

[root@jenkins scripts]# vim web-java-deploy.sh 
#!/bin/bash
# java项目部署

Date=date +%F-%H-%M
Web_Server="10.0.0.7"
Web_Name=web-${Date}-${git_version}

#1、推送war包到web集群节点
cd ${WORKSPACE} && scp -rp target/*.war ${Web_Server}:/opt/${Web_Name}.war

#2、解压部署
ssh -tt ${Web_Server} << EOF
cd /var/lib/tomcat/webapps/
mkdir ${Web_Name}
unzip /opt/${Web_Name}.war -d ./${Web_Name}
rm -rf ROOT && ln -s ${Web_Name} ROOT
chown -R tomcat.tomcat ./*
systemctl restart tomcat
exit
EOF

构建测试,选择版本v1.1:

构建成功,浏览器访问:

1

发表评论

验证码: 7 + 2 =