Ubuntu使用war包部署Jenkins并通过systemcl管理

目录

一、当前系统环境

二、安装Java

二、安装Jenkins

三、使用systemctl管理


一、当前系统环境

操作系统:ubuntu 24.04

Jenkins版本:2.506 格式:war

JDK版本:OpenJDK_17

二、安装Java

1.下载jdk安装包

bash 复制代码
# 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目录并解压压缩包

bash 复制代码
# 解压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环境变量

bash 复制代码
vim /etc/profile

在最末尾添加下面的内容

bash 复制代码
# Java environment
export JAVA_HOME=/usr/local/java
export PATH=$PATH:${JAVA_HOME}/bin

4.使环境变量生效

bash 复制代码
source /etc/profile

5.验证安装是否生效

java -version

bash 复制代码
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的用户和组

bash 复制代码
useradd -m jenkins

2.创建jenkins的home目录

bash 复制代码
mkdir -p /usr/local/jenkins/

3.下载Jenkins最新war包

bash 复制代码
cd  /usr/local/jenkins
wget https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/2.506/jenkins.war

4.设置文件夹权限

bash 复制代码
chown -R jenkins:jenkins /usr/local/jenkins
chmod +x -R /usr/local/jenkins

5.启动测试

bash 复制代码
# 导入JENKINS_HOME环境变量
export JENKINS_HOME=/usr/local/jenkins

# 启动Jenkins
java -jar jenkins.war   --httpPort=8888 
三、使用systemctl管理

1.创建服务文件

bash 复制代码
vim /usr/lib/systemd/system/jenkins.service

要在Environment指明JENKINS_HOME实际目录,默认是用户home目录下的.jenkins文件夹ExecStart里面所有目录都使用绝对路径,包括java和war包所在的路径。

bash 复制代码
[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.添加文件执行权限

bash 复制代码
chmod +x /usr/lib/systemd/system/jenkins.service

3.重新加载systemctl 并启动服务

bash 复制代码
systemctl daemon-reload && systemctl start jenkins

4.查看jenkins运行状态

bash 复制代码
systemctl status jenkins
bash 复制代码
root@ubuntu01:/# systemctl status jenkins
● jenkins.service - Jenkins
     Loaded: loaded (/usr/lib/systemd/system/jenkins.service; disabled; preset: enabled)
     Active: active (running) since Wed 2025-04-23 10:27:37 CST; 7min ago
   Main PID: 90424 (java)
      Tasks: 44 (limit: 4552)
     Memory: 375.1M (peak: 386.7M)
        CPU: 16.396s
     CGroup: /system.slice/jenkins.service
             └─90424 /usr/local/java/bin/java -Dhudson.model.DownloadService.noSignatureCheck=true -jar /usr/local/jenkins/jenkins.war --httpPort=8888

Apr 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.查看服务日志

bash 复制代码
journalctl -u jenkins.service --reverse

6.设置开机自启

bash 复制代码
systemctl enable jenkins
相关推荐
Lucky_Turtle14 分钟前
【Java Xml】Apache Commons Digester3解析
xml·java·apache
聪明的笨猪猪34 分钟前
Java Redis “缓存设计”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
FIavor.34 分钟前
我发送给Apifox是http://localhost:9002/goods/getByUserName?name=张三 为什么会是500哪里错了?
java·服务器·网络协议·http
ID_1800790547335 分钟前
京东获取整站实时商品详情数据|商品标题|数据分析提取教程
java·开发语言
微露清风1 小时前
系统性学习C++-第五讲-内存管理
java·c++·学习
计算机毕业设计木哥1 小时前
计算机毕业设计选题推荐:基于SpringBoot和Vue的快递物流仓库管理系统【源码+文档+调试】
java·vue.js·spring boot·后端·课程设计
235161 小时前
【LeetCode】146. LRU 缓存
java·后端·算法·leetcode·链表·缓存·职场和发展
聪明的笨猪猪1 小时前
Java Redis “运维”面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
FIavor.2 小时前
怎么办这是Apifox里执行http://localhost:9002/goods/getByUserName?name=“张三“为什么我改了还是500?
java·网络·网络协议·http
编程饭碗2 小时前
【Java集合】
java