部署java项目(二)-安装插件,构建job,手动安装jdk,发布war包

安装插件

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

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

imgimgimgimg

安装完插件后,重启jenkins:

[root@jinkai src]# systemctl restart jenkins

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

img

配置maven项目

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

描述这里自定义

img

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

img

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

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

[root@jinkai src]# cat /root/.ssh/id_rsa

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

img

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

img

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

img

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

img

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

img img

然后Credentials这里选择admin/**

img

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

img

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

img

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

立即构建

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

img

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

img

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

img

查看邮箱邮件

img

回到jinkai01机器上,安装jdk:

因为之前安装tomcat时jinkai02机器上有安装jdk,所以我这里可以直接从jinkai02拷到jinkai01上

[root@jinkai src]# scp -r 192.168.111.137:/usr/local/jdk-14 /usr/local/jdk-14

[root@jinkai src]# ls /usr/local/jdk-14/

bin conf include jmods legal lib man release

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

img img

重启jenkins服务:

[root@jinkai src]# systemctl restart jenkins

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

img

img

查看邮箱邮件

img

将maven的源换成阿里云的地址

[root@jinkai ~]# vim /usr/local/src/apache-maven-3.6.3/conf/settings.xml

<mirror>

<id>nexus-aliyun</id>

<mirrorOf>central</mirrorOf>

<name>Nexus aliyun</name>

<url>http://maven.aliyun.com/nexus/content/groups/public</url>;

</mirror>

重新构建后原先的报错小时,但还是存在报错,尚未解决,以后再说

aming

总结起来主要有两点:

1)maven编译zrlog源码的时候,会读取zrlog的pom.xml,它用的是maven 2版本,而我们下载的maven为3版本,所以jenkins会自动帮我们去下载2版本的maven库,这个过程非常非常慢,好多同学都是卡死在了这里。

解决该问题的办法,就是将maven的源换成阿里云的地址即可。方法参考:

https://blog.csdn.net/zl1zl2zl3/article/details/83589977

2)zrlog源码里有定义数据库配置,具体路径在这里

老版本:src/main/webapp/WEB-INF/db.properties

新版本:web/src/main/webapp/WEB-INF/db.properties

默认数据库服务器为

demo.blog.zrlog.com:3306 所以,在老视频里,我们部署完就可以直接访问博客,那是因为它直接访问到了这个服务器的数据库。当前这个数据库已经挂掉了,所以大家部署的时候直接报错了。

解决该问题的思路是:

在源码里,直接定义好数据库信息,例如: 数据库服务器127.0.0.1 数据库zrlog 用户 zrlog 密码 lishiming,配置文件是这样的:

driverClass=com.mysql.cj.jdbc.Driver

user=zrlog

password=lishiming

jdbcUrl=jdbc\:mysql\://127.0.0.1\:3306/zrlog?characterEncoding\=UTF-8&useSSL\=false&serverTimezone\=GMT

为了方便大家做实验,同学们可以用这个仓库 https://github.com/aminglinux/zrlog/ , 里面已经将配置文件修改为上面的内容了。

注意: 这样做的前提是,需要先创建一个zrlog库,授权zrlog用户,数据库sql文件我放到源码里(路径:zrlog/data/zrlog.sql),大家自行将sql导入mysql。

imgimg

猜你喜欢

转载自blog.51cto.com/11451960/2640814