当前位置: 首页 > web >正文

【Linux】Jenkins Lts 配置构建 Maven 项目

Jenkins Lts 配置构建 Maven 项目

1. 基础环境安装 JDK 与 Maven

sudo yum install fontconfig java-21-openjdk
sudo dnf install maven

2. Jenkins 插件安装

安装 Maven 插件:

Maven Integration plugin
在这里插入图片描述

安装 SSH 插件

SSH Agent Plugin 与 SSH server

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

3. Jenkins 全局配置

在这里插入图片描述

新增 Jdk 配置

在这里插入图片描述
通过命令查看 Jdk 的安装地址,从中可以提取:/usr/lib/jvm/java-21-openjdk

readlink -f $(which java)

在这里插入图片描述

或者使用下面命令更加直观

java -XshowSettings:properties -version 2>&1 | grep 'java.home'

在这里插入图片描述

新增 Maven 配置

在这里插入图片描述
可以通过 Maven 命令查看具体的安装位置

mvn -v

在这里插入图片描述

新增 SSH 配置

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

4. 新建 Jenkins Job

  • 构建一个自由风格的项目,输入项目名称
    在这里插入图片描述
  • 配置拉取的 git 项目路径以及分支

在这里插入图片描述

  • 配置 maven,填写名称和执行的 maven 命令

清理、打包并跳过测试代码

clean package -DskipTests

在这里插入图片描述

  • 配置构建后操作,把 maven 打的 jar 包通过 ssh 命令发送到要部署的服务器,执行部署命令,返回成功失败状态码
nohup java -jar my-jenkins-demo-0.0.1-SNAPSHOT.jar > /dev/null 2>&1 &

或者

nohup java -jar my-jenkins-demo-0.0.1-SNAPSHOT.jar > output.log 2>&1 &

nohup:忽略挂断信号(SIGHUP),确保终端关闭后进程仍继续运行。

> /dev/null
>:重定向标准输出(stdout)
/dev/null:Linux 的空设备,丢弃所有写入的数据。

2>&1
2:标准错误输出(stderr)
&1:指向标准输出(此时标准输出已重定向到 /dev/null)

&:将进程放入后台运行,释放当前终端

在这里插入图片描述

http://www.xdnf.cn/news/15463.html

相关文章:

  • 机床自动化中的“方言翻译官”:EtherNet/IP 转 PROFIBUS DP 实战手记
  • 3分钟搭建自动签到打卡RPA程序:验证码自动识别
  • 知识蒸馏:模型压缩与知识迁移的核心引擎
  • C++--unordered_set和unordered_map的使用
  • CCF-GESP 等级考试 2025年6月认证Python三级真题解析
  • EVOLVEpro安装使用教程-蛋白质语言模型驱动的快速定向进化
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 45(题目+回答)
  • [Dify]-基础入门8- 使用 Dify 创建文档问答机器人(零代码实现)
  • openeuler使用桥接模式(包括新建虚拟机和已有虚拟机)
  • 【读书笔记】《C++ Software Design》第十章与第十一章 The Singleton Pattern The Last Guideline
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ToastNotification(推送通知)
  • Android事件分发机制完整总结
  • 快速搭建Maven仓库服务
  • 深入理解 Linux 文件系统层级结构
  • 深入理解 Java JVM
  • Clojure和Golang中的Channel有什么异同(TBC)
  • AI驱动的软件工程(中):文档驱动的编码与执行
  • Python协程进阶:优雅终止与异常处理详解
  • python代码块的表示方法
  • 输入npm install后发生了什么
  • Maven 构建命令
  • HTML 基本骨架
  • 【LeetCode 热题 100】23. 合并 K 个升序链表——(解法一)逐一合并
  • DOS下EXE文件的分析 <1>
  • Linux锁的概念及线程同步
  • 【iOS】方法与消息底层分析
  • 深入了解JAVA中Synchronized
  • CCS-MSPM0G3507-7-模块篇-MPU6050的基本使用
  • 002大模型基础知识
  • 认识String、StringBuffer、StringBuilder