Jenkins部署java

一、编译环境====(jenkins服务器)

1.部署maven编译环境(在Jenkins服务器上部署)

1.下载maven
[root@jenkins opt]# wget https://mirrors.aliyun.com/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
[root@jenkins opt]# ll
总用量 563300
-rw-r--r--  1 root root   9506321 73 2020 apache-maven-3.6.3-bin.tar.gz

2.解压
root@jenkins opt]# tar xf apache-maven-3.6.3-bin.tar.gz  -C /usr/local/

3.查看java版本
[root@jenkins opt]# java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

4.添加环境变量
[root@jenkins opt]# vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH

5.重载环境变量,测试mvn
[root@jenkins opt]# source /etc/profile
[root@jenkins opt]# mvn --version
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: /usr/local/apache-maven-3.6.3
Java version: 1.8.0_292, vendor: Red Hat, Inc., runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.292.b10-1.el7_9.x86_64/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1160.21.1.el7.x86_64", arch: "amd64", family: "unix"

2.配置Jenkins+maven

在这里插入图片描述

  • 配置JDK

系统管理===》全局配置===》JDK

在这里插入图片描述

  • 配置maven环境变量

系统管理====》系统配置===》环境变量

在这里插入图片描述

  • 安装maven插件
    在这里插入图片描述
  • 在gitlab上创建新项目

在这里插入图片描述

  • 将源代码上传到仓库
1.下载远程仓库
[root@web ~]# git clone git@10.0.0.60:root/jenkins-tomcat.git
正克隆到 'jenkins-tomcat'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
接收对象中: 100% (3/3), done.

2.将源代码压缩包传到下载的仓库内并解压
[root@web ~]# rz
[root@web ~]# ll
-rw-r--r--  1 root root     57688 729 2021 chenyang0910-springboot-master.zip
[root@web ~]# unzip chenyang0910-springboot-master.zip 
[root@web ~]# ll
-rw-r--r--  1 root root     57688 729 2021 chenyang0910-springboot-master.zip
drwxr-xr-x  4 root root        90 415 20:24 springboot
[root@web ~]# mv springboot/ jenkins-tomcat/
[root@web ~]# cd jenkins-tomcat/
[root@web jenkins-tomcat]# ll
总用量 4
-rw-r--r-- 1 root root 23 727 13:57 README.md
drwxr-xr-x 4 root root 90 415 20:24 springboot

3.将源代码上传到远程仓库
[root@web jenkins-tomcat]# git add springboot/
[root@web jenkins-tomcat]# git commit -m 'init' .
[root@web jenkins-tomcat]# git push -u origin master
Counting objects: 31, done.
Compressing objects: 100% (22/22), done.
Writing objects: 100% (30/30), 53.20 KiB | 0 bytes/s, done.
Total 30 (delta 0), reused 0 (delta 0)
To git@10.0.0.60:root/jenkins-tomcat.git
   b4f3ae9..a89ee0d  master -> master
分支 master 设置为跟踪来自 origin 的远程分支 master。

在这里插入图片描述

  • 创建maven仓库(Jenkins服务器)
1.创建maven仓库
[root@jenkins ~]# mkdir -pv /data/software/repository
mkdir: 已创建目录 "/data"
mkdir: 已创建目录 "/data/software"
mkdir: 已创建目录 "/data/software/repository"
[root@jenkins ~]# chown jenkins.jenkins /data/software/repository/

2.修改配置文件
[root@jenkins ~]# vim /usr/local/apache-maven-3.6.3/conf/settings.xml 

  <!--本地仓库-->          
  <localRepository>/data/software/repository</localRepository>
  
  <mirrors>
    <!--阿里云镜像-->
    <mirror>
      <id>aliyun-maven</id>
      <mirrorOf>central</mirrorOf>
      <name>aliyun maven mirror</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
    </mirror>
  </mirrors>


注意:
相当于把maven阿里云的仓库下载到本地仓库
  • 测试maven仓库
    在这里插入图片描述
    在这里插入图片描述
    注意:mvn clean package 相当于java编译命令
    如果还报错:用绝对路径:/usr/local/apache-maven-3.6.3/mvn clean package
    在这里插入图片描述

选择标签开始构建(第一次编译时间稍长)
在这里插入图片描述

如果构建过程中报错:在这里插入图片描述就能直接构建成功了。这是最简便的方式。事后分析了下造成这种情况:大概是拉取代码分支,代码分支裹了一层目录,所以拉过来就多了一级目录。

如下图构建所示:

在这里插入图片描述

[root@jenkins workspace]# cd /var/lib/jenkins/workspace/shanghai-001/springboot/
[root@jenkins springboot]# ll
总用量 24
-rwxr-xr-x  1 jenkins jenkins 10070 730 00:04 mvnw
-rw-r--r--  1 jenkins jenkins  6608 730 00:04 mvnw.cmd
-rw-r--r--  1 jenkins jenkins  1664 730 00:04 pom.xml
drwxr-xr-x  4 jenkins jenkins    30 730 00:04 src
drwxr-xr-x 10 jenkins jenkins   266 730 00:06 target


注意:
如果有target的haul说明编译成功,他是在编译成功后生成的

下面演示创建一个自由风格项目来完成项目的集成过程:
拉取代码->编译->打包->部署

二、运行环境====web服务器

1.安装tomcat

1.下载
[root@gdx1 ~]# yum install java-1.8.0-openjdk* -y
[root@web ~]# rz
[root@web ~]# ll
-rw-r--r--  1 root root 10851264 720 17:52 apache-tomcat-9.0.20.tar.gz

2.解压
[root@web ~]# tar -xf apache-tomcat-9.0.20.tar.gz -C /usr/local/
[root@web ~]# cd /usr/local/
[root@web local]# ll
总用量 0
drwxr-xr-x 9 root root 220 730 00:22 apache-tomcat-9.0.20
drwxr-xr-x 4 root root  53 729 19:14 jenkins-tomcat

3.启动Tomcat
[root@web local]# /usr/local/apache-tomcat-9.0.20/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/apache-tomcat-9.0.20
Using CATALINA_HOME:   /usr/local/apache-tomcat-9.0.20
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.20/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/apache-tomcat-9.0.20/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.20/bin/tomcat-juli.jar
Tomcat started.

4.验证启动端口
[root@web local]# netstat -tunlp
   tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      34770/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      34770/java          
tcp6       0      0 :::111                  :::*                    LISTEN      1067/rpcbind        
tcp6       0      0 :::8080                 :::*                    LISTEN      34770/java          



在这里插入图片描述

2.配置tomcat权限

后续Jenkins部署项目到Tomcat服务器,需要用到Tomcat的用户,所以修改tomcat以下配置, 添加用户及权限。

[root@web ]# vim /usr/local/apache-tomcat-9.0.45/conf/tomcat-users.xml 
#插入到倒数第二行
    <role rolename="tomcat"/>
    <role rolename="role1"/>
    <role rolename="manager-script"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-status"/>
    <role rolename="admin-gui"/>
    <role rolename="admin-script"/>
    <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
    
[root@web ]# vim /usr/local/apache-tomcat-9.0.45/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" /> -->
原因:他只默认127.0.0.%来访问,其他不允许。
注意:但是以后在生产中这段配置jenkins的内网的ip   
         
         
#重启
[root@web local]# /usr/local/apache-tomcat-9.0.20/bin/shutdown.sh
Using CATALINA_BASE:   /usr/local/apache-tomcat-9.0.20
Using CATALINA_HOME:   /usr/local/apache-tomcat-9.0.20
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.20/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/apache-tomcat-9.0.20/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.20/bin/tomcat-juli.jar
[root@web local]# /usr/local/apache-tomcat-9.0.20/bin/startup.sh 
Using CATALINA_BASE:   /usr/local/apache-tomcat-9.0.20
Using CATALINA_HOME:   /usr/local/apache-tomcat-9.0.20
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.20/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/apache-tomcat-9.0.20/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.20/bin/tomcat-juli.jar
Tomcat started.


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

[root@web local]# cd /usr/local/apache-tomcat-9.0.20/
[root@web apache-tomcat-9.0.20]# ll
总用量 124
drwxr-x--- 2 root root  4096 730 00:22 bin
-rw-r----- 1 root root 19182 54 2019 BUILDING.txt
drwx------ 3 root root   254 730 00:28 conf
-rw-r----- 1 root root  5407 54 2019 CONTRIBUTING.md
drwxr-x--- 2 root root  4096 730 00:22 lib
-rw-r----- 1 root root 57092 54 2019 LICENSE
drwxr-x--- 2 root root   197 730 00:23 logs
-rw-r----- 1 root root  2333 54 2019 NOTICE
-rw-r----- 1 root root  3255 54 2019 README.md
-rw-r----- 1 root root  6852 54 2019 RELEASE-NOTES
-rw-r----- 1 root root 16262 54 2019 RUNNING.txt
drwxr-x--- 2 root root    30 730 00:22 temp
drwxr-x--- 7 root root    81 54 2019 webapps
drwxr-x--- 3 root root    22 730 00:23 work
[root@web apache-tomcat-9.0.20]# cd webapps/
[root@web webapps]# ll
总用量 4
drwxr-x--- 14 root root 4096 730 00:22 docs
drwxr-x---  6 root root   83 730 00:22 examples
drwxr-x---  5 root root   87 730 00:22 host-manager
drwxr-x---  5 root root  103 730 00:22 manager
drwxr-x---  3 root root  283 730 00:22 ROOT

3.配置Jenkins操作tomcat(部署)

把项目部署到远程的Tomcat里面
1)安装 Deploy to container插件
Jenkins本身无法实现远程部署到Tomcat的功能,需要安装Deploy to container插件实现

  • 安装插件
    在这里插入图片描述
  • 配置构建过程===》添加构建后操作
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 重新构建

这次构建的速度明显提升很多

在这里插入图片描述
在这里插入图片描述

  • web端查看:
    在这里插入图片描述

在这里插入图片描述

补充:构建maven项目

Jenkins中自动构建项目的类型有很多,常用的有以下三种:
1.自由风格软件项目(FreeStyle Project)
2.Maven项目(Maven Project)
3.流水线项目(Pipeline Project)

每种类型的构建其实都可以完成一样的构建过程与结果,只是在操作方式、灵活度等方面有所区别,在 实际开发中可以根据自己的需求和习惯来选择。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值