jenkins中发布java项目

本文详细介绍了如何配置Jenkins服务器,包括更改插件源、安装必要插件、配置JDK和Git、设置SSH及邮件发送。接着,通过创建Maven项目,配置构建前后的步骤,如代码仓库、构建命令、备份与更新服务。最后,展示了构建结果的邮件通知,提供了一段示例邮件内容。整个过程旨在实现自动化部署流程。
摘要由CSDN通过智能技术生成

一,准备工作

1,插件安装
找到jenkins的工作目录更换插件源,可以提高安装速度和成功率

cd /var/lib/jenkins/updates
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json

需要安装的插件

Git #拉取git代码
maven #创建Maven项目
Git parameter #参数化构建
Extened Choice Parmeter #扩展选择框参数,支持多选
Role-based Authorization Strategy #用户授权
Publish Over SSH #远程主机
Extended E-mail Notification #邮件通知

2,配置jenkins服务器全局的jdk和git工作目录(其他服务器不配置默认也会使用)
在这里插入图片描述
在这里插入图片描述
这里需要注意系统可能自带jre而不是jdk,会报错 Perhaps you are running on a JRE ?
解决办法:

		yum remove *openjdk*
		yum -y install java-1.8.0-openjdk-devel.x86_64

3,配置系统中的ssh用于远程到主机上执行脚本
在这里插入图片描述
4,配置邮件发送
在这里插入图片描述
点击Test configuration测试邮件发送
在这里插入图片描述

二,配置项目

1,创建一个Maven项目
在这里插入图片描述
2,构建前的配置
Days to keep builds #构建保留的天数
Max # of builds to keep #构建保留的条数
在这里插入图片描述
使用凭据参数来完成参数化构建,定义变量branch值默认master
在这里插入图片描述
限制构建过程运行的节点(需要在 Manage Nodes and Clouds 中添加节点后才能使用)
在这里插入图片描述
3,配置代码仓库,分支接收上面定义的变量branch
在这里插入图片描述
4,构建添加打包命令
clean #清除产生的项目
install #在本地Repository中安装jar(自动编译和打包,然后安装到仓库)
maven.test.skip=true #不执行测试用例,也不编译测试用例类
在这里插入图片描述
5,构建后操作,备份旧版本,更新新版本启动服务
在这里插入图片描述

#update.sh
#使用前修改
#!/bin/env bash 

date=`date +%Y%m%d%H%M%S`
APP_NAME=test-0.0.1.jar #jar包名字
PASSWORD=123456 #部署那台的主机密码
WORKDIR=/root/test/ #工作目录
#检查程序是否在运行 
is_exist(){
pid=`ps -ef | grep ${APP_NAME} | grep -v $$ | grep -v tail |  awk '{print $2}' `
#若是不存在返回1,存在返回0 
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
is_exist
if [ $? -eq "0" ]; then
echo ${PASSWORD} | sudo -S kill -9 $pid
else
echo "${APP_NAME} is not running" 
fi
cd ${WORKDIR}
echo ${PASSWORD} | sudo -S mv ${APP_NAME} ${WORKDIR}/backup/${APP_NAME%%.*}${date}.jar
echo "备份成功"
cd /var/lib/jenkins/workspace/A-test-10.144.100.205/target/
sudo cp -r ${APP_NAME} ${WORKDIR}
echo "版本更新成功"
cd ${WORKDIR}
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ." 
else
java -jar ${WORKDIR}${APP_NAME} >/root/test/logs/test.log 2>&1 &
echo "程序已启动..."
fi
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME}${APP_NAME} is running. pid is ${pid} "
else
echo "${APP_NAME} is not running."
fi
exit

6,配置构建结果邮件发送
在这里插入图片描述
在这里插入图片描述
Default Content内容

<!DOCTYPE html>  
<html>  
<head>  
<meta charset="UTF-8">  
<title>${ENV, var="JOB_NAME"}-第${BUILD_NUMBER}次构建日志</title>  
</head>  
  
<body leftmargin="8" marginwidth="0" topmargin="8" marginheight="4"  
    offset="0">  
    <table width="95%" cellpadding="0" cellspacing="0"  style="font-size: 11pt; font-family: Tahoma, Arial, Helvetica, sans-serif">  
        <tr>  
            <td>各位同事,大家好,以下为${PROJECT_NAME }项目构建信息</td>  
        </tr>  
        <tr>  
            <td><br />  
            <b><font color="#0B610B">构建信息</font></b>  
            <hr size="2" width="100%" align="center" /></td>  
        </tr>  
        <tr>  
            <td>  
                <ul>  
                    <li>项目名称 : ${PROJECT_NAME}</li>  
                    <li>构建编号 : 第${BUILD_NUMBER}次构建</li>  
                    <li>触发原因: ${CAUSE}</li>  
                    <li>构建状态: ${BUILD_STATUS}</li>  
                    <li>构建日志: <a href="${BUILD_URL}console">${BUILD_URL}console</a></li>  
                    <li>构建  Url : <a href="${BUILD_URL}">${BUILD_URL}</a></li>  
                    <li>工作目录 : <a href="${PROJECT_URL}ws">${PROJECT_URL}ws</a></li>  
                    <li>项目  Url : <a href="${PROJECT_URL}">${PROJECT_URL}</a></li>  
                </ul>  
            </td>  
        </tr>  
        <tr>
            <td><b><font color="#0B610B">历史变更记录:</font></b>
            <hr size="2" width="100%" align="center" /></td>
        </tr>
        <tr>
            <td>
                ${CHANGES_SINCE_LAST_SUCCESS,reverse=true, format="Changes for Build #%n:<br />%c<br />",showPaths=true,changesFormat="<pre>[%a]<br />%m</pre>",pathFormat="&nbsp;&nbsp;&nbsp;&nbsp;%p"}
            </td>
        </tr>
    </table>  
</body>  
</html>

三,构建结果展示

在这里插入图片描述
邮件结果
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于Jenkins来说,它是一个非常强大的持续集成和持续部署工具。如果你想要实现一键发布Java项目,可以按照以下步骤进行操作: 1. 安装Jenkins:首先,你需要在你的服务器或者本地机器上安装Jenkins。你可以去Jenkins的官方网站(https://www.jenkins.io/)下载适合你操作系统的安装包,并按照安装指南进行安装。 2. 创建Jenkins任务:在Jenkins,你需要创建一个任务用来自动构建和部署你的Java项目。点击Jenkins主页的"New Item"按钮,然后选择"Freestyle project"。在配置页面,你可以设置项目名称、描述等信息。 3. 配置源代码管理:在任务的配置页面,找到"Source Code Management"部分,并选择你的代码仓库类型(如Git、SVN等)。填写你的代码仓库URL和认证信息(如果需要)。这样Jenkins就能从代码仓库获取最新的代码。 4. 配置构建触发器:在任务的配置页面,找到"Build Triggers"部分,并选择适合你项目需求的触发器。你可以选择定时触发、代码提交触发、或者其他外部触发方式。 5. 配置构建步骤:在任务的配置页面,找到"Build"部分,并添加构建步骤。对于Java项目来说,你可以使用Maven或者Gradle来构建项目。你可以在"Build"部分添加Shell命令或者配置Maven/Gradle构建任务。 6. 配置部署步骤:在任务的配置页面,找到"Post-build Actions"部分,并添加部署步骤。你可以选择将构建好的Java项目部署到服务器上,或者打包成可执行文件等。 7. 保存并启动任务:完成上述配置后,点击保存按钮并返回Jenkins主页。然后你可以点击任务名称进入任务页面,并点击"Build Now"按钮手动触发一次构建和部署。 这样,你就成功地创建了一个用于一键发布Java项目Jenkins任务。每次你需要发布Java项目时,只需要点击一下按钮或者触发相应的构建触发器,Jenkins就会自动构建和部署你的项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

背锅攻城师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值