jenkins自动发布java代码

简介:

jenkins笔记(1)进行实战java代码发布,此利用github私有仓库拉去,jenkins利用maven编译源码后讲包发布致web服务器。

一、git私有仓库创建

可参考GIT笔记中远程仓库搭建部分,此处java源码使用zrlog,将源码pull到github上,将jenkins公钥配置到github上,即可下一波。

二、web服务器tomcat配置

在需要将代码发布的web服务器上需要配置tomcat的manager页面。

yum install java-1.8.0-openjdk.x86_64 -y && \
wget -c -O /usr/local/apache-tomcat-9.0.2.tar.gz && \ http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.2/bin/apache-tomcat-9.0.2.tar.gz && \
cd /usr/local/ && tar -xf apache-tomcat-9.0.2.tar.gz &&\

此时tomcat已经安装成功,需要配置manager页面。
需要在/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="kaliarch" roles="admin,manager,admin-gui,admin-script,manager-gui,manager-script,manager-jmx,manager-status" />

修改完毕如上图,添加manager的role角色权限,其次需要修改manger页面的源控访问,添加jenkins的ip为白名单内。
修改/usr/local/tomcat/webapps/manager/META-INF/context.xml
默认tomcat的manager页面只允许本地的和ipv6的地址,此处我的jenkins服务器ip为:172.20.6.0/24,可根据实际情况来定,支持网段,不要开放全部开放0.0.0.0,以防黑客入侵。


配置完成后需要启动tomcat/usr/local/tomcat/bin/startup.sh
此时,我们可以进行测试web服务器的tomcatmanager界面,http://IP:8080/manager/index.html
填写配置文件内的用户名:admin,密码:kaliarch

三、创建发布项目

发布java,需要安装两个插件,Maven Integration plugin 和 Deploy to container Plugin,若没有安装则需要安装这两个插件 安装完插件后,需要重启jenkins。

3.1 新建item

输入项目名称,选择构建一个maven项目,确定。

3.2 配置源码管理

源码管理选择git,填入仓库url

此时发现会出现报错信息,因为此仓库为我的私有仓库,需要配置Credentials,点开add, Add Credentials的 Kind选择SSH Username with private key,Username选择之前在github上传的公钥用户的用户名,此次为root,Private Key为jenkins服务器登录github的本地私钥,查看私钥cat /root/.ssh/id_rsa 复制粘贴到Key区域,完成添加。此时可以发现报错已经消失。

3.3 配置发布到web服务器

添加增加构建后操作,选择Deploy war/ear to a container,WAR/EAR files填写**/*.war,Containers选择增加容器,增加tomcat 8.x,Credentials点add,此处填写的为tomcat的manager页面的用户名密码,此处为admin/kaliarch,

tomcat url填写web服务器的tomcaturl,

3.4 配置邮件信息通知

添加增加构建后操作,选择Editable Email Notification,利用插件邮件来发送通知。
可以根据需求自定义邮件主题与内容,此处添加信息接受人,由于全局配置了always,在高级设置内,填写接受人邮箱。

3.5 信息查看

点击保存,并立即构建,可以查看日志信息。

登录web服务器,查看war包已经发布完成。


打开web页面进行测试。

查看邮件通知。

至此,java程序已经完成发布,之后修改代码后可以提交到github,然后通过jenkins自动发布即可。

目录
相关文章
|
4天前
|
Java
在 Java 中捕获和处理自定义异常的代码示例
本文提供了一个 Java 代码示例,展示了如何捕获和处理自定义异常。通过创建自定义异常类并使用 try-catch 语句,可以更灵活地处理程序中的错误情况。
|
18天前
|
XML 安全 Java
Java反射机制:解锁代码的无限可能
Java 反射(Reflection)是Java 的特征之一,它允许程序在运行时动态地访问和操作类的信息,包括类的属性、方法和构造函数。 反射机制能够使程序具备更大的灵活性和扩展性
32 5
Java反射机制:解锁代码的无限可能
|
9天前
|
jenkins Java 持续交付
Gitee+Jenkins+SonarQube代码上线的实战操作
通过以上步骤,就可以实现基于Gitee、Jenkins和SonarQube的代码上线流程,确保代码的质量和上线过程的自动化和可控性。在实际操作中,可以根据项目的具体需求和环境进行适当的调整和优化。
|
14天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
47 3
|
20天前
|
存储 安全 Java
系统安全架构的深度解析与实践:Java代码实现
【11月更文挑战第1天】系统安全架构是保护信息系统免受各种威胁和攻击的关键。作为系统架构师,设计一套完善的系统安全架构不仅需要对各种安全威胁有深入理解,还需要熟练掌握各种安全技术和工具。
57 10
|
15天前
|
分布式计算 Java MaxCompute
ODPS MR节点跑graph连通分量计算代码报错java heap space如何解决
任务启动命令:jar -resources odps-graph-connect-family-2.0-SNAPSHOT.jar -classpath ./odps-graph-connect-family-2.0-SNAPSHOT.jar ConnectFamily 若是设置参数该如何设置
|
14天前
|
Java
Java代码解释++i和i++的五个主要区别
本文介绍了前缀递增(++i)和后缀递增(i++)的区别。两者在独立语句中无差异,但在赋值表达式中,i++ 返回原值,++i 返回新值;在复杂表达式中计算顺序不同;在循环中虽结果相同但使用方式有别。最后通过 `Counter` 类模拟了两者的内部实现原理。
Java代码解释++i和i++的五个主要区别
|
6月前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
315 1
|
Java BI API
在Java代码中打日志需要注意什么?
日志是什么?日志是你在代码运行时打印出来的一些数据和记录,是快速排查问题的好帮手,是撕逼和甩锅的利器!
701 0
|
缓存 Java 网络架构
别在 Java 代码里乱打日志了,这才是正确的打日志姿势!
别在 Java 代码里乱打日志了,这才是正确的打日志姿势!
167 0