Jenkins入门二

25.3 Jenkins部署java项目

我们之前使用jenkins发布了php代码,但这种需求在生产环境中可能用的并不多,用的更多的反而是部署java项目,java的项目是需要编译和打包的。编译和打包用maven完成,所以需要安装maven。


创建私有仓库

首先搭建一个私有仓库,具体步骤可以参考这里:https://blog.csdn.net/miss1181248983/article/details/82598250 ,这里我使用另外一台机器lzx2搭建gitlab服务器,IP是192.168.33.170。

  • 环境:
hostname:lzx		ip:192.168.33.150		role:jenkins服务器

hostname:lzx1		ip:192.168.33.160		role:部署机器

hostname:lzx2		ip:192.168.33.170		role:gitlab服务器

  • lzx2上安装gitlab:
# vim /etc/yum.repos.d/gitlab.repo				#写入下面内容[gitlab-ce]name=Gitlab CE Repository
baseurl=https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el$releasever/
gpgcheck=0
enabled=1# yum install -y gitlab-ce# gitlab-ctl reconfigure				#自动配置gitlab,这个过程会花费一定时间

# netstat -lntpActive Internet connections (only servers)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 127.0.0.1:9100          0.0.0.0:*               LISTEN      11845/node_exporter 
tcp        0      0 127.0.0.1:9229          0.0.0.0:*               LISTEN      12158/gitlab-workho 
tcp        0      0 127.0.0.1:9168          0.0.0.0:*               LISTEN      12203/ruby          
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      11704/unicorn maste 
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      11756/nginx: master 
tcp        0      0 127.0.0.1:8082          0.0.0.0:*               LISTEN      11724/sidekiq 5.1.3 
tcp        0      0 127.0.0.1:9236          0.0.0.0:*               LISTEN      12173/gitaly        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      785/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1359/master         
tcp        0      0 0.0.0.0:8060            0.0.0.0:*               LISTEN      11756/nginx: master 
tcp        0      0 127.0.0.1:9121          0.0.0.0:*               LISTEN      11955/redis_exporte 
tcp        0      0 127.0.0.1:9090          0.0.0.0:*               LISTEN      12216/prometheus    
tcp        0      0 127.0.0.1:9187          0.0.0.0:*               LISTEN      12247/postgres_expo 
tcp        0      0 127.0.0.1:9093          0.0.0.0:*               LISTEN      12232/alertmanager  
tcp6       0      0 ::1:9168                :::*                    LISTEN      12203/ruby          
tcp6       0      0 :::22                   :::*                    LISTEN      785/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1359/master         
tcp6       0      0 :::9094                 :::*                    LISTEN      12232/alertmanager  
tcp6       0      0 :::3306                 :::*                    LISTEN      1131/mysqld       

# gitlab-ctl status				#查看gitlab服务状态run: alertmanager: (pid 12232) 77s; run: log: (pid 12240) 77s
run: gitaly: (pid 12173) 79s; run: log: (pid 12185) 79s
run: gitlab-monitor: (pid 12203) 79s; run: log: (pid 12206) 78s
run: gitlab-workhorse: (pid 12158) 80s; run: log: (pid 12164) 79s
run: logrotate: (pid 11772) 136s; run: log: (pid 12165) 79s
run: nginx: (pid 11756) 142s; run: log: (pid 12166) 79s
run: node-exporter: (pid 11845) 123s; run: log: (pid 12186) 79s
run: postgres-exporter: (pid 12247) 76s; run: log: (pid 12253) 76s
run: postgresql: (pid 11478) 189s; run: log: (pid 12148) 80s
run: prometheus: (pid 12216) 78s; run: log: (pid 12224) 77s
run: redis: (pid 11403) 195s; run: log: (pid 12149) 80s
run: redis-exporter: (pid 11955) 111s; run: log: (pid 12205) 78s
run: sidekiq: (pid 11724) 151s; run: log: (pid 12151) 80s
run: unicorn: (pid 11681) 157s; run: log: (pid 12193) 79s

gitlab-ctl start        启动gitlab服务 
gitlab-ctl stop         关闭gitlab服务
gitlab-ctl restart      重启gitlab服务

安装完gitlab之后,直接在浏览器访问gitlab,输入服务器ip即可(访问之前打开80端口)

在这里插入图片描述

提示修改密码,修改完密码后登录(默认用户名是root)

在这里插入图片描述

在这里插入图片描述

  • 创建项目,名字自定义:

在这里插入图片描述

  • lzx机器上生成公钥,粘贴到SSH Keys:
# ls ~/.sshauthorized_keys  jenkins  jenkins.pub  known_hosts# ssh-keygen				#生成密钥对Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):				#直接按Enter键Enter passphrase (empty for no passphrase):				#直接按Enter键Enter same passphrase again:				#直接按Enter键Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:rKMAgtQMA+Y93mIA3YLJk3zt089oouBCWNiZQTVoVQI root@lzx
The key's randomart image is:
+---[RSA 2048]----+|*OE**..          ||*=%..+           || BoX. .          ||+ B oo o         ||=. + .. S        ||o+. .. + o       ||o o . =          ||.. o . .         ||.   .            |+----[SHA256]-----+# ls ~/.sshauthorized_keys  id_rsa  id_rsa.pub  jenkins  jenkins.pub  known_hosts# cat ~/.ssh/id_rsa.pub				#将公钥粘贴到gitlab页面的SSH Keys中ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDGsHhQyJY0yLD667hpzYA/DUH2bqqQpywtRdGU9PHhyiC+UapqjwnosBjnwCopJOaQ4slnn59vO/o6QOFpP6eF0E4327avM15VkObD5fht7S5Q6zfCBcWpoPahsuYDbLqVPUyHqg8jbBB3FDaRiK9EZ1dbvl1Hdzkt6XotjdVdZp1aWQK0LuY1gzf3mouoC9jB9q0whQlLZ40QCe/VrxljGGAtThjD5xAetK/Q0LjOu2u9MyPxtXltO1OacyZxwM1Fjj/p2ce2zw3P+O0Ix8mwzAfMzg+z4Xe85qfNkAySUkP4+Qqkqa348rQ7ryVWG2DYNJbFX3rN1MoWJE6xb2JZ root@lzx

在这里插入图片描述

按照这里配置在lzx服务器上执行:

在这里插入图片描述

全局设置

# cd /home/# lsadmin  myproject# git config --global user.name "Administrator"# git config --global user.email "admin@example.com"

克隆版本库

# git clone git@192.168.33.170:root/test-java.gitCloning into 'test-java'...
warning: You appear to have cloned an empty repository.				#提示似乎克隆了一个空版本库,没关系,因为本来就是空版本库# lsadmin  myproject  test-java				#多出来test-java目录

创建文件并上传

# cd test-java/# ls# touch README.md# git add !$				#增加git add README.md# git commit -m "add README"				#提交[master (root-commit) 6311ae4] add README
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 README.md# git push -u origin master				#上传Counting objects: 3, done.
Writing objects: 100% (3/3), 216 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)To git@192.168.33.170:root/test-java.git
 * [new branch]      master -> master
Branch master set up to track remote branch master from origin.

刷新浏览器界面,可以看到刚刚上传的README.md文件

在这里插入图片描述

到这里,我们的私有仓库就创建好了。


下载Zrlog源码

ZrLog是使用 Java 开发的博客/CMS程序,具有简约,易用,组件化,内存占用低等特点,自带 Markdown 编辑器。这里我们使用Zrlog的源码作为java代码以作测试。

  • lzx上下载zrlog的源码:
# cd ..# wget https://codeload.github.com/94fzb/zrlog/zip/master				#下载zrlog源码包# du -sh master30M	master# yum install -y unzip# unzip master# lsadmin  master  myproject  test-java  zrlog-master# ls zrlog-master/bin  common  data  doc  LICENSE  mvnw  mvnw.cmd  pom.xml  README.en-us.md  README.md  service  web

  • 移动到test-java目录:
# mv zrlog-master/* test-java/mv: overwrite ‘test-java/README.md’? y# cd test-java/# lsbin  common  data  doc  LICENSE  mvnw  mvnw.cmd  pom.xml  README.en-us.md  README.md  service  web

  • 上传到gitlab服务器:
# git add .				#增加# git commit -m "add zrlog"				#提交# git push				#上传Counting objects: 553, done.
Compressing objects: 100% (419/419), done.
Writing objects: 100% (447/447), 1.42 MiB | 0 bytes/s, done.
Total 447 (delta 51), reused 0 (delta 0)remote: Resolving deltas: 100% (51/51), done.
To git@192.168.33.170:root/test-java.git
   ead3e2f..bf720f58  master -> master

刷新浏览器界面,可以看到刚刚上传的zrlog文件

在这里插入图片描述


安装tomcat

这里再使用一台机器lzx1安装jdk和tomcat,这里的jdk不能使用openjdk,否则后面会报错。具体安装步骤参考这里:https://blog.csdn.net/miss1181248983/article/details/81080091 。

  • 安装jdk:

下载解压

# cd /usr/local/src/# rz# lsjdk-8u181-linux-x64.tar.gz# tar zxvf jdk-8u181-linux-x64.tar.gz# mv jdk1.8.0_181/ /usr/local/jdk1.8

设置环境变量

# vim /etc/profile				#添加下面内容JAVA_HOME=/usr/local/jdk1.8/
JAVA_BIN=/usr/local/jdk1.8/bin
JRE_HOME=/usr/local/jdk1.8/jre
PATH=$PATH:/usr/local/jdk1.8/bin:/usr/local/jdk1.8/jre/bin
CLASSPATH=/usr/local/jdk1.8/jre/lib:/usr/local/jdk1.8/lib:/usr/local/jdk1.8/jre/lib/charsets.jar

使其生效并检验

# source /etc/profile# java -versionjava version "1.8.0_181"Java(TM) SE Runtime Environment (build 1.8.0_181-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)# which java/usr/local/jdk1.8/bin/java

  • 安装tomcat:

下载解压

# wget https://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.32/bin/apache-tomcat-8.5.32.tar.gz# tar zxvf apache-tomcat-8.5.34.tar.gz# mv apache-tomcat-8.5.34 /usr/local/tomcat

启动tomcat

# /usr/local/tomcat/bin/startup.shUsing CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.# netstat -lntp |grep javatcp6       0      0 :::8080                 :::*                    LISTEN      1181/java           
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      1181/java           
tcp6       0      0 :::8009                 :::*                    LISTEN      1181/java

设置开机启动

# echo "/usr/local/tomcat/bin/startup.sh" >> /etc/rc.d/rc.local # chmod a+x /etc/rc.d/rc.local

打开浏览器,输入机器ip:8080端口访问

在这里插入图片描述

我们点击上图中manager webapp,会发现是403告警,如下图

在这里插入图片描述

编辑配置文件

# vim /usr/local/tomcat/webapps/manager/META-INF/context.xml				#更改下面内容allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.33.*" />				#增加一个33网段,让jenkins可以连接tomcat

重启tomcat

# /usr/local/tomcat/bin/shutdown.sh				#关闭tomcatUsing CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar# /usr/local/tomcat/bin/startup.sh				#启动tomcatUsing CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

刷新tomcat界面,出现一个弹窗,提示输入用户名和密码

在这里插入图片描述

增加tomcat用户

# vim /usr/local/tomcat/conf/tomcat-users.xml				#在这行上面增加下面内容<role rolename="admin"/><role rolename="admin-gui"/><role rolename="admin-script"/><role rolename="manager"/><role rolename="manager-gui"/><role rolename="manager-script"/><role rolename="manager-jmx"/><role rolename="manager-status"/><user name="admin" password="lzxlzxlzx"          roles="admin,manager,admin-gui,admin-script,manager-gui,manag
er-script,manager-jmx,manager-status"/>				#增加用户admin,密码为lzxlzxlzx,后面会用到

重启tomcat

# /usr/local/tomcat/bin/shutdown.sh Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar# /usr/local/tomcat/bin/startup.sh Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr/local/jdk1.8
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.

刷新浏览器界面,输入刚增加的用户名和密码,进入tomcat的管理页面

在这里插入图片描述

只有jenkins访问到这个后台管理接口才能发布war包。


安装maven

maven用来编译源码并打包,下载地址:http://maven.apache.org/download.cgi 。

要把maven安装在jenkins机器上,所以得在lzx机器上操作。

  • 下载安装:
# cd /usr/local/# wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz# tar zxvf apache-maven-3.5.4-bin.tar.gz# /usr/local/apache-maven-3.5.4/bin/mvn --version				#查看版本Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T14:33:14-04:00)Maven home: /usr/local/apache-maven-3.5.4
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-693.el7.x86_64", arch: "amd64", family: "unix"

  • 配置jenkins:

系统管理全局工具配置,找到Maven配置默认 settings 提供 选择文件系统中的 settings 文件,文件路径填写settings文件的路径;默认全局 settings 提供选择文件系统中的全局 settings 文件,文件路径填写settings文件的路径。

在这里插入图片描述

找到Maven,点击新增Maven,自定义名字,取消自动安装的勾选,路径填写刚刚安装maven的路径,应用保存即可

在这里插入图片描述


安装插件

  • 先在jenkins界面安装两个插件:

系统管理管理插件,安装两个插件:Maven IntegrationDeploy to containerMaven Integration这个插件用来构建maven项目,Deploy to container用来发布war包到远程机器上。

在这里插入图片描述

在这里插入图片描述

  • 安装完插件后,重启jenkins:
# systemctl restart jenkins

  • 重新登录jenkins,构建maven项目:

在这里插入图片描述


配置maven项目

上面点击确定之后,jenkins会自动调到项目的配置界面,我们需要进行一些配置。

描述这里自定义

在这里插入图片描述

源码管理这里选择Git,然后Repository URL填写我们搭建的gitlab服务器中版本库的地址,Credentials选择右边的Add,添加凭据

在这里插入图片描述

类型选择SSH Username with private key,用户名自定义,私钥这里填写jenkins机器上和gitlab上公钥对应的私钥。

查看jenkins机器和gitlab上公钥对应的私钥(之前克隆版本库时,我们把jenkins机器上的公钥传到了gitlab服务器上)

# cat ~/.ssh/id_rsa-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKCAQEAxrB4UMiWNMiw+uu4ac2APw1B9m6qkKcsLUXRlPTx4cogvlGq
ao8J6LAY58AqKSTmkOLJZ5+fbzv6OkDhaT+nhdBON9u2rzNeVZDmw+X4be0uUOs3
wgXFqaD2obLmA2y6lT1Mh6oPI2wQdxQ2kYivRGdXW75dR3c5Lel6LY3VXWadWlkC
tC7mNYM395qLqAvYwfatMIUJS2eNEAnv1a8ZYxhgLU4Yw+cQHrSv0NC4zrtrvTMj
8bV5bTtTmnMmccDNRY4/6dnHts8Nz/jtCMfJsMwHzM4Ps+F3vOanzZAMklJD+PkK
pKmt+PK0O68lVhtg2DSWxV96zdTKFiROsW9iWQIDAQABAoIBAQC1FxpR5sCgk1pb
GIUYSajdzuOUDAGBnhxxlvUSYr4jIOr/C8fbH0vUvMu2TjsfDPbojwsqWx4hb/T9
Ky1HlDDHkbf4yVSUEqmkK1Fosy3eYxKXxgsn18L0fDTN5BQoguz8IMajz6fEjTXk
kpO5yW6VVesVP0gdXtjKs8Ybxu31FXqHXaPb+LFMkLA2MpNxQ8sVNALWSrdGyKA1
bL+It589x1N7NQfNRq1iqCOfipC9VVWTMwHymx0ocIa5ZXurEKNU/FEAW7kso6l6
zuzWpLE1SZZ7TqsW4UlwPWPIZjZ1neh74JlGlXnz29s76Uk1xOrGzCssigE1j6a0
H8hwZ0VBAoGBAOfcg83D5mjhV/BW8teOJskSD3YeK0sVUxigPAnIAzbmPWgys03j
B6NMfI1meNkx7x5sl5+P7dDBOWui2wg4TP3RAlaf1Il93Xy/NW57JxnjH4BY3Yl5
vvR8U0vV0LLcqss7lGuR9OUNi2Nc30cRJB/OOO+enKJPP3QqIe34Gsg1AoGBANtf
3aCgItrONAlinnBrmkxRiJWSjuXBGEg3LRLk0pyJjCfiJ/0L+jVkL/tLwBYGi7pl
IB17N0eOr27/CJK6P4wpPN9X2hqmDoeXgf3Vxuqy+E2f+cEXIG/ftEYwLKkeKGWe
EVWm7pbslCY8cjW8/mIgbZQVyMUOTv7rwjVRA94VAoGBANBCoBkIp0L5dbWpQ8Me
KfRdRooAGz77zoHGG2dlwo1jTTD0qV2CWO/y2cVgj5f3ZCLdw2tNKn1hsaPeygKe
H3m0bPdF5PACoBlW3jV4ZOy5tyffqk27jyunKGJrkWO3Faoqv+vHVEMRYWxElUEO
QnZXE4kX3PVlXUeIOKW5PsUpAoGBALYtyaav9eIRpkM5A+zGX1AL0cqs+ECy99BZ
CfSL1J+s1pj0hlLt1G7scbBWOwHPk9BKVL5G6iRhySz7XIpFY6qpQGUV1wmUZ7KQ
zqIXG2cjE3Oba9S/uO9PLq2vKheT9OZWu3yO8cqiU3HhdtNLzVF+LqHw6VdER7QJ
47FVQ0n1AoGBAKz15tgMf6q58dnpxxY9EwVfNOFiwU9uO48JAQ3dG/kxnA7N2J5m
8lkU7ErL0EFqGhD8uiL8IR3/5mQkYDPreKl4iztonVXexxdNN7HVEAMRYn0a5sGA
yOLSE7HkkS45jeZEGr/JmxVWjbAhAvM4buMYcyAfhqOxIabOIbuXnwxv
-----END RSA PRIVATE KEY-----

我们生成密钥对时没有设置密码,所以Passphrase可以留空,下面的也留空,点击添加即可

在这里插入图片描述

Credentials选择Git,可以发现,之前的红色提示没有了,说明没问题

在这里插入图片描述

构建触发器构建环境Pre Steps部分全部保持默认;Build下面Root POM为 pom.xml,Goals and options填写clean install -D maven.test.skip=truePost Steps构建设置部分保持默认;

在这里插入图片描述

点击增加构建后操作步骤,选择Deploy war/ear to a containerWAR/EAR files填写**/*.war,表示全部的war包;Contex path留空;Containers选择 Tomcat 8.x ,Tomcat URL填写我们安装tomcat服务器的地址,我的是http://192.168.33.160:8080

在这里插入图片描述

Credentials点击Add,用户名这里填admin,密码填lzxlzxlzx,这里的用户名密码就是登录tomcat后台管理入口的账号密码,其它保持默认,添加即可

在这里插入图片描述

然后Credentials这里选择admin/******

在这里插入图片描述

继续点击增加构建后操作步骤,选择Editable Email NotificationProject Recipient List这里添加自己的邮箱,用英文逗号分隔,其它位置保持默认

在这里插入图片描述

然后点击Advanced Setting,定位到Triggers,可以在Add Trigger处增加发邮件的条件,这里如果是Always就可以了

在这里插入图片描述

最后点击应用、保存即可。


立即构建

上面配置完后,我们开始构建。点击立即构建

在这里插入图片描述

然后我们在构建历史下面选中#1 ,下拉点击控制台输出,可以看到我们刚刚构建的输出内容

在这里插入图片描述

第一次构建时会稍慢,因为会下载很多和maven相关的东西,查看到最后结果,这里有报错

在这里插入图片描述

查看邮箱邮件

在这里插入图片描述

回到lzx机器上,安装jdk:

因为之前安装tomcat时lzx1机器上有安装jdk,所以我这里可以直接从lzx1拷到lzx上# scp -r 192.168.33.160:/usr/local/jdk1.8 /usr/local/jdk1.8     root@192.168.33.160's password:				#输入密码# /usr/local/jdk1.8/bin/java -version				#查看版本java version "1.8.0_181"Java(TM) SE Runtime Environment (build 1.8.0_181-b13)Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

回到jenkins界面,回到首页,点击系统设置全局工具配置JDK,别名自定义,然后路径填刚刚安装jdk的路径,然后应用、保存即可

在这里插入图片描述

重启jenkins服务:

# systemctl restart jenkins

重新登录jenkins界面,回到java-test,再次构建,查看控制台输出

在这里插入图片描述

查看邮箱邮件

在这里插入图片描述

反复修改一些东西后试了几次,发现还是有问题。于是我重新更换zrlog的版本做测试(最先我用的是zrlog-2.0.6版本,然后换成了zrlog-1.8.0版本)

# cd ..# wget https://github.com/redhatxl/zrlog/archive/master.zip# du -sh master.zip 1.6M	master.zip# yum install -y unzip# unzip master# ls admin  master  master.zip  myproject  test-java  zrlog-master# ls zrlog-master/bin  CHANGELOG.md  doc  LICENSE  mvnw  mvnw.cmd  pom.xml  README.md  src# mv zrlog-master/* test-java/mv: overwrite ‘test-java/README.md’? y# cd test-java/# lsbin  CHANGELOG.md  doc  LICENSE  mvnw  mvnw.cmd  pom.xml  README.md  src

上传到gitlab服务器上

在这里插入图片描述

再次构建,还是遇到和之前一样的问题

在这里插入图片描述

到网上搜了一下报错信息,都说是tomcat内存溢出导致自动部署失败,修改内存的值之后继续构建,还是报一样的错。

我尝试去查看tomcat服务器上的webapps目录

# cd /usr/local/tomcat/# ls webapps/docs  examples  host-manager  manager  ROOT  zrlog-1.8.0  zrlog-1.8.0.war  zrlog-2.0.6  zrlog-2.0.6.war				#这里多出来我之前两次实验的zrlog的war包

刷新tomcat的后台管理页面

在这里插入图片描述

发现多出来zrlog1.8.0和zrlog2.0.6

lzx1上删除这两个war包及其解压文件

# cd webapps/# rm -rf zrlog-*# lsdocs  examples  host-manager  manager  ROOT

再次在jenkins界面构建,还是和之前一样的报错

在这里插入图片描述

查看webapps

在这里插入图片描述

zrlog1.8版本的war包又出现了

刷新tomcat的后台管理页面

在这里插入图片描述

只有zrlog1.8.0

至此,jenkins虽然部署到能把war包发布webapps目录下,但是由于不知名原因,jenkins一直有报错,而且war运行不起来,望知道原因的大佬给个回复,有时间我会在尝试弄弄。


更多资料参考:

jenkins详解

搭建jenkins实现自动化部署

原文地址:https://blog.51cto.com/u_10272167/2730799

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


基础环境、流程图1)流程图jenkinspipeline发布应用2)、jenkins上安装kubectl#主节点上查看kubectl位置[root@k8s01~]#whichkubectl/usr/bin/kubectl#将k8s节点的kubectl文件cp至jenkinsscp10.0.0.101:/usr/bin/kubectl.cp./kubectl/usr/local/bin/kubectl
本节是建立在流水线入门内容的基础上,而且,应当被当作一个参考。对于在实际示例中如何使用流水线语法的更多信息,请参阅本章在流水线插件的2.5版本中的使用Jenkinsfile部分,流水线支持两种离散的语法,具体如下对于每种的优缺点,参见语法比较。正如本章开始讨论的,流水线最
Linuxcentos7安装Jenkins(jenkins-2.227-1.1.noarch.rpm)时遇到问题:1.出现问题1:安装jenkins一直失败,提示Nosuchfileordirectory[helen@linuxprobeJenkins]$sudorpm-ivhjenkins-2.227-1.1.noarch.rpmPreparing...####################
作为一个拥有很多账号的当代美少女,忘记用户名密码什么的是再正常不过的事了。“忘记密码”这一功能给我真的带来了很大的福音啊。但是最近重新使用Jenkins时,看到需要输入用户名密码,顿时脑子一片空白。经过一系列的查找,终于解决了问题,害,只有把方法记下来才是王道,以后妈妈再
Jenkins、GitLab和Maven(Nexus)完成自动构建迈向持续集成持续集成,毋庸置疑的是这是两部分要求,一个是持续一个是集成,那么持续和集成到底表示了什么要求和含义呢?其中的集成比较容易理解就是指开发人员将自己开发的代码不断地交付给全部系统的代码,在Git仓的概念之下也就是不断地
 下载文档https://www.jenkins.io/zh/download/  Debian下载1.下载安装keyhttps://pkg.jenkins.io/debian-stable/jenkins.io.key  
流水线建设从Jenkins部署开始Jenkins是一个独立的开源自动化服务器,可以用来自动化,例如构建、测试和部署软件等各种任务,是一个实现CI(持续集成)的很好的工具。Jenkins可以通过本地系统包、Docker安装,甚至可以在安装Java运行时环境的机器上独立运行。JenkCI/CD的概念谈到持
原因:这种情况是SSHServer中的RemoteDirectory路径不存在。解决方法:重新输入目标服务器中存在的路径。      
什么是持续集成持续集成(Continuousintegration,简称CI)指的是,频繁地(一天多次)将代码集成到主干。持续集成的目的,就是让产品可以快速迭代,同时还能保持高质量。它的核心措施是,代码集成到主干之前,必须通过自动化测试。只要有一个测试用例失败,就不能集成。通过持续集成,团
Tomcat安装:1.下载Tomcat包:http:/omcat.apache.org/并解压2.启动:双击bin\startup.bat文件浏览器访问:http://localhost:8080/3.Tomcat配置登录:打开confomcat-users.xml文件添加如下代码:<rolerolename="manager-gui"/><userusername="admin"password=&q
文章目录jenkinscron笔记简介H符号(hash的简写)别名例子jenkinscron笔记简介jenkinscron遵循普通cron的语法,略有不同,每行包含五个字段可以使用Tab和空行分割分钟小时日月周0-590-231-311-120-7(0和7都表示周日)可以使用以下操作符为一个字段指定多个值(按照
1.nginx的配置location/jenkinsno{indexindex.htmlindex.htm;proxy_passhttp://127.0.0.1:8081;proxy_connect_timeout3000s;proxy_send_timeout3000s;proxy_read_timeout3000s;prox
1、下载安装插件下载地址:http://files.jetbrains.org.cn/aliyun-oss.hpi在Jenkins中安装插件,请到ManageJenkins->Advanced->Upload,上传插件(.hpi文件)安装完毕后请重新启动Jenkins2、搜索安装jenkins插件安装3、安装完成以后配置阿里云oss账号oss这边设置:(账号的权限也要
首先将构建历史清除Jenkins构建历史删除与重置然后进入Jenkins服务器工作目录oot/.jenkinstar-czvfjobs.tarjobs 将jobs打包将job.tar文件复制到新Jenkins服务器相同目录下解压tar包 tar-zxvfjob.tar登录新JenkinsJenkins-系统管理-读取配置,只有点击了读取配置,原
一、动态生成Slave1.1、简介之前我们都是在物理机或者虚拟机上部署jenkins,但是这种部署方式会有一些难点,如下:主Master发生单点故障时,整个流程都不可用了每个Slave的配置环境不一样,来完成不同语言的编译打包等操作,但是这些差异化的配置导致管理起来非常不方便,维护起来也是
from jenkins import Jenkins# 判断job是否运行结束def build():    job = 'branch-deploy-wap'    params = {        'server_ip': '10.160.30.XXX',        'server_username': 'root',        'server_userpass&#
背景client端执行webUI自动化测试时依赖操作系统上安装了对应的浏览器,并且浏览器与驱动要进行版本的对应——而selenium是可以部署集群,通过远程的方式执行对应的自动化用例,方便高效。原理1、通过代码可知,自动化运行的主类接收了任务id,获取到任务信息后根据任务类型判断进行接口
背景工具选择架构设计及技术实现参数设计断言持续集成测试集编写总结  一、背景1.目前公司发展比较迅速,还处于不停堆业务阶段,所以迭代比较频繁,导致人工回归的成本越来越大2.在有限的测试资源情况下,开发自测的需求占比不低,后端频繁发布容易心里没底
本地pycharm打开项目,运行自动化项目下载项目代码,并用pycharm打开项目gitclonehttps://gitee.com/iread9527/iInterface_python.git进入iInterface_python目录下,cdiInterface_python使用pip3install-rrequirements.txt命令,安装python项目依赖的第三方库使
Jenkins邮件设置一、简介最近有朋友问Jenkins邮件设置的问题,想起来当时也是碰到不少坑,网上看了很多博客说的解决办法根本没有用。最后我解决了这个问题,在此记录一下,希望能够帮助到在网上搜了半天仍然徒劳无功的朋友们,我懂那种失败了一次又一次的感觉,希望能帮到大家。二、配置步