Ubuntu使用war包部署Jenkins并通过systemcl管理
目录
一、当前系统环境
二、安装Java
二、安装Jenkins
三、使用systemctl管理
一、当前系统环境
操作系统:ubuntu 24.04
Jenkins版本:2.506 格式:war
JDK版本:OpenJDK_17
二、安装Java
1.下载jdk安装包
# wget下载
wget https://mirrors.tuna.tsinghua.edu.cn/Adoptium/17/jdk/x64/linux/OpenJDK17U-jdk_x64_linux_hotspot_17.0.14_7.tar.gz
2.创建java目录并解压压缩包
# 解压JDK到指定目录
sudo mkdir -p /usr/local/java
sudo tar -zxf OpenJDK17U-jdk_x64_linux_hotspot_17.0.14_7.tar.gz -C /usr/local/java --strip-components 1
3.设置java环境变量
vim /etc/profile
在最末尾添加下面的内容
# Java environment
export JAVA_HOME=/usr/local/java
export PATH=$PATH:${JAVA_HOME}/bin
4.使环境变量生效
source /etc/profile
5.验证安装是否生效
java -version
root@ubuntu01:/# java -version
openjdk version "17.0.14" 2025-01-21
OpenJDK Runtime Environment Temurin-17.0.14+7 (build 17.0.14+7)
OpenJDK 64-Bit Server VM Temurin-17.0.14+7 (build 17.0.14+7, mixed mode, sharing)
root@ubuntu01:/#
二、安装Jenkins
1.创建运行jenkins的用户和组
useradd -m jenkins
2.创建jenkins的home目录
mkdir -p /usr/local/jenkins/
3.下载Jenkins最新war包
cd /usr/local/jenkins
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.506/jenkins.war
4.设置文件夹权限
chown -R jenkins:jenkins /usr/local/jenkins
chmod +x -R /usr/local/jenkins
5.启动测试
# 导入JENKINS_HOME环境变量
export JENKINS_HOME=/usr/local/jenkins# 启动Jenkins
java -jar jenkins.war --httpPort=8888
三、使用systemctl管理
1.创建服务文件
vim /usr/lib/systemd/system/jenkins.service
要在Environment指明JENKINS_HOME实际目录,默认是用户home目录下的.jenkins文件夹ExecStart里面所有目录都使用绝对路径,包括java和war包所在的路径。
[Unit]
Description=Jenkins Continuous Integration Server
After=network.target[Service]
Type=simple
User=jenkins
Environment="JENKINS_HOME=/var/lib/jenkins"
ExecStart=/usr/local/java/bin/java -Dhudson.model.DownloadService.noSignatureCheck=true -jar /usr/local/jenkins/jenkins.war --httpPort=8888
Restart=on-failure[Install]
WantedBy=multi-user.target
2.添加文件执行权限
chmod +x /usr/lib/systemd/system/jenkins.service
3.重新加载systemctl 并启动服务
systemctl daemon-reload && systemctl start jenkins
4.查看jenkins运行状态
systemctl status jenkins
root@ubuntu01:/# systemctl status jenkins
● jenkins.service - JenkinsLoaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; preset: enabled)Active: active (running) since Wed 2025-04-23 10:27:37 CST; 7min agoMain PID: 90424 (java)Tasks: 44 (limit: 4552)Memory: 375.1M (peak: 386.7M)CPU: 16.396sCGroup: /system.slice/jenkins.service└─90424 /usr/local/java/bin/java -Dhudson.model.DownloadService.noSignatureCheck=true -jar /usr/local/jenkins/jenkins.war --httpPort=8888Apr 23 10:27:43 ubuntu01 java[90424]: 2025-04-23 02:27:43.144+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: Prepared all plugins
Apr 23 10:27:43 ubuntu01 java[90424]: 2025-04-23 02:27:43.178+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Started all plugins
Apr 23 10:27:43 ubuntu01 java[90424]: 2025-04-23 02:27:43.194+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Augmented all extensions
Apr 23 10:27:43 ubuntu01 java[90424]: 2025-04-23 02:27:43.519+0000 [id=29] INFO h.p.b.g.GlobalTimeOutConfiguration#load: global timeout not set
Apr 23 10:27:44 ubuntu01 java[90424]: 2025-04-23 02:27:44.767+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: System config loaded
Apr 23 10:27:44 ubuntu01 java[90424]: 2025-04-23 02:27:44.768+0000 [id=31] INFO jenkins.InitReactorRunner$1#onAttained: System config adapted
Apr 23 10:27:44 ubuntu01 java[90424]: 2025-04-23 02:27:44.794+0000 [id=29] INFO jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
Apr 23 10:27:44 ubuntu01 java[90424]: 2025-04-23 02:27:44.805+0000 [id=30] INFO jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
Apr 23 10:27:44 ubuntu01 java[90424]: 2025-04-23 02:27:44.849+0000 [id=29] INFO jenkins.InitReactorRunner$1#onAttained: Completed initialization
Apr 23 10:27:44 ubuntu01 java[90424]: 2025-04-23 02:27:44.888+0000 [id=23] INFO hudson.lifecycle.Lifecycle#onReady: Jenkins is fully up and running
root@ubuntu01:/#
5.查看服务日志
journalctl -u jenkins.service --reverse
6.设置开机自启
systemctl enable jenkins
相关文章:
Ubuntu使用war包部署Jenkins并通过systemcl管理
目录 一、当前系统环境 二、安装Java 二、安装Jenkins 三、使用systemctl管理 一、当前系统环境 操作系统:ubuntu 24.04 Jenkins版本:2.506 格式:war JDK版本:OpenJDK_17 二、安装Java 1.下载jdk安装包 # wget下载 wget …...

PCB常见封装类型
1. 电阻、电容、电感封装 2. 二极管、三极管封 3. 排阻类器件(8脚、16脚)封装 4. SO类器件(间距有1.27、2.54mm等)封装 5. QFP类器件封装(四方扁平封装) 结构:引脚分布在封装的四个侧面&#…...
济南国网数字化培训班学习笔记-第二组-3节-电网工程建设项目部门
电网工程建设项目部 组成 监理项目部 履行监理合同,监理单位派驻:负责合同管理,审查,见证,旁站,巡视,验收,控制进度,安全,质量,协调各方 造价…...

【Linux】调试工具gdb的认识和使用指令介绍(图文详解)
目录 1、debug和release的知识 2、gdb的使用和常用指令介绍: (1)、windows下调试的功能: (2)、进入和退出: (3)、调试过程中的相关指令: 3、调试究竟是在…...
Vue3 ref与props
ref 属性 与 props 一、核心概念对比 特性ref (标签属性)props作用对象DOM 元素/组件实例组件间数据传递数据流向父组件访问子组件/DOM父组件 → 子组件响应性直接操作对象单向数据流(只读)使用场景获取 DOM/调用子组件方法组件参数传递Vue3 变化不再自…...

UML设计系列(9):开发过程中如何应用UML
传送门 UML设计系列(1):状态机图 UML设计系列(2):类图 UML设计系列(3):时序图 UML设计系列(4):用例图 UML设计系列(5):系统依赖图 UML设计系列(6):活动图 UML设计系列(7):UML设计阶段性总…...
Linux之安装配置Nginx
Linux系统下安装配置Nginx的详细步骤如下: 一、准备工作 系统环境:确保Linux系统已安装,并且具有网络连接(以便在线安装依赖或下载Nginx)。 安装依赖:Nginx依赖于一些开发库和工具,如gcc、pcr…...
【C++】STL之deque
deque Deque 的底层既不直接依赖 vector 也不依赖 list,而是结合了两者的思想,采用了一种分块(chunk)存储与动态指针数组(map)结合的结构。以下是详细分析: 1. 底层结构设计 Deque 的核心设计…...

模板方法模式:定义算法骨架的设计模式
模板方法模式:定义算法骨架的设计模式 一、模式核心:模板方法定义算法骨架,具体步骤延迟到子类实现 在软件开发中,经常会遇到这样的情况:某个算法的步骤是固定的,但具体步骤的实现可能因不同情况而有所不…...

通付盾入选苏州市网络和数据安全免费体验目录,引领企业安全能力跃升
近日,苏州市网络安全主管部门正式发布《苏州市网络和数据安全免费体验产品和服务目录》,通付盾凭借其在数据安全、区块链、AI领域的创新实践和前沿技术实力,成功入选该目录。 作为苏州市网络安全技术支撑单位,通付盾将通过 “免费…...

【金仓数据库征文】加速数字化转型:金仓数据库在金融与能源领域强势崛起
目录 一、引言 二、金仓数据库(KingbaseES)概述 1. 发展历程与市场地位 2. 核心技术架构 3. 金仓数据库的特点 三、金仓数据库在金融行业的应用 1. 金融行业的挑战与需求 2. 金仓数据库在金融行业的优势 3. 金仓数据库在金融行业的实际应用案例 …...
音频base64
音频 Base64 是一种将二进制音频数据(如 MP3、WAV 等格式)编码为 ASCII 字符串的方法。通过 Base64 编码,音频文件可以转换为纯文本形式,便于在文本协议(如 JSON、XML、HTML 或电子邮件)中传输或存储&#…...
Qt C++/Go/Python 面试题(持续更新)
目录 1、封装、继承、多态是什么? 2、final标识符的作用是什么? 3、介绍一下虚函数 4、介绍一下智能指针 5、介绍一下左值、右值、左值引用、右值引用 6、指针和引用有什么区别? 7、define和const的区别是什么? 8、C程序的…...
VMware 虚拟机镜像资源网站
常见的 VMware 虚拟机镜像资源网站 网站名称链接地址特点OSBoxes.orgOSBoxes - Virtual Machines for VirtualBox & VMware 提供 .vmx .vmdk,适合 VMware 和 VirtualBox,更新频率高,界面清晰LinuxVMImages.comLinux VM Images - Downlo…...

C++智能指针上
一、裸指针 “裸指针”是最基础的,直接存储内存地址的指针类型。特点:①它本身没有自动的内存管理机制:如它不会自动释放内存,也不会检查是否指向有效的内存区域;②直接操作内存地址,不进行任何的边界检查&…...

低代码平台开发串口调试助手
项目介绍 串口调试助手是一款用于串口通信调试的工具,它可以帮助开发人员发送和接收串口数据,主要用于嵌入式开发、工业控制、物联网设备开发等领域。 主要功能包括: 数据收发:可以实时发送和接收串口数据,并显示在界…...

怎么配置一个kubectl客户端访问多个k8s集群
怎么配置一个kubectl客户端访问多个k8s集群 为什么有的客户端用token也访问不了k8s集群,因为有的是把~/.kube/config文件,改为了~/.kube/.config文件,文件设置成隐藏文件了。 按照kubectl的寻找配置的逻辑,kubectl找不到要访问集群…...
C语言分支结构详解
一、引言 在 C 语言中,分支结构是程序控制流的重要组成部分。它允许程序根据不同的条件执行不同的代码块,从而实现更灵活和复杂的逻辑。分支结构使得程序能够根据输入、变量的值或其他条件来做出决策,决定程序的执行路径。 二、if 语句 基…...
Redisson实战:分布式系统中的五大典型应用场景
引言 在分布式系统架构中,数据一致性、高并发控制和资源协调是开发者面临的核心挑战。Redisson作为基于Redis的Java客户端,不仅提供了丰富的分布式对象和服务,还简化了分布式场景下的编程模型。本文将通过实际代码示例,解析Redis…...

12N60-ASEMI无人机专用功率器件12N60
编辑:LL 12N60-ASEMI无人机专用功率器件12N60 型号:12N60 品牌:ASEMI 封装:TO-220F 最大漏源电流:12A 漏源击穿电压:600V 批号:最新 RDS(ON)Max:0.68…...

长城智驾重复造轮子
左手新能源,右手智驾,这是长城当下最在意的两块业务。 从去年8月首款具备高阶智能驾驶功能SUV全新蓝山上市之后,长城在传播端的重点就是围绕智驾、无图方案打造智驾标签。 先是在广州国际车展上,整个展厅只展出全新蓝山…...
云原生之认识DDD
一、DDD是什么? 领域驱动设计(DDD) 做为一种软件工程的方法论,它可以帮助我们设计高质量的软件,或者说任何工程的设计都需要方法论,不论是城市设计、建筑设计、室内设计。 比如没有方法论的情况下楼是可以盖起来的,或许整个楼道和窗户上挂满了电话线、闭路线、电线?下水…...

continue插件实现IDEA接入本地离线部署的deepseek等大模型
文章目录 前言一、IDEA安装continue二、continue部署本地大模型三、continue聊天窗口使用deepseek R1四、continue批量接入硅基流动的模型API 前言 亲爱的家人们,创作很不容易,若对您有帮助的话,请点赞收藏加关注哦,您的关注是我…...
代码随想录算法训练营第一天:数组part1
今日学习的文章链接和视频链接 ● 自己看到题目的第一想法 ● 看完代码随想录之后的想法 ● 自己实现过程中遇到哪些困难 ● 今日收获,记录一下自己的学习时长 状态 思路理解完成 30% 代码debug完成 60% 代码模板总结并抽象出来 100% 题目 704 二分查找 题目链接…...

滚珠螺杆在数控机床中如何降低摩擦系数?
对数控机床这样要求加工精度高而且加工精度能保持长期稳定的设备来说是必须的,而且具有较低的传动阻力也同时为更高速的传动打下基础。使用滚珠螺杆,也是数控机床加工效率高的一个重要原因,为了减少数控机床的滚珠螺杆出现摩擦,可…...

【现代深度学习技术】循环神经网络05:循环神经网络的从零开始实现
【作者主页】Francek Chen 【专栏介绍】 ⌈ ⌈ ⌈PyTorch深度学习 ⌋ ⌋ ⌋ 深度学习 (DL, Deep Learning) 特指基于深层神经网络模型和方法的机器学习。它是在统计机器学习、人工神经网络等算法模型基础上,结合当代大数据和大算力的发展而发展出来的。深度学习最重…...

Python实现技能记录系统
Python实现技能记录系统 来自网络,有改进。 技能记录系统界面如下: 具有保存图片和显示功能——允许用户选择图片保存,选择历史记录时若有图片可预览图片。 这个程序的数据保存在数据库skills2.db中,此数据库由用Python 自带的…...
前端基础之《Vue(10)—过滤器》
一、过滤器 1、作用 用于数据处理。 2、全局过滤器 使用Vue.filter(名称, val>{return newVal})定义。 在任何组件中都可以直接使用。 3、局部过滤器 使用选项,filters: {}定义,只能在当前组件中使用。 4、过滤器在Vue 3.0中已经淘汰了 5、过滤器…...

Linux常见指令介绍下(入门级)
1. head head就和他的名字一样,是显示一个文件头部的内容(会自动排序),默认是打印前10行。 语法:head [参数] [文件] 选项: -n [x] 显示前x行。 2. tail tail 命令从指定点开始将文件写到标准输出.使用t…...

VIC-3D非接触全场应变测量系统用于小尺寸测量之电子元器件篇—研索仪器DIC数字图像相关技术
在5G通信、新能源汽车电子、高密度集成电路快速迭代的今天,电子元件的尺寸及连接工艺已进入亚毫米级竞争阶段,这种小尺寸下的力学性能评估对测量方式的精度有更高的要求,但传统应变测量手段常因空间尺寸限制及分辨率不足难以捕捉真实形变场。…...