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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/77400.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/77400.shtml
英文地址,請注明出處:http://en.pswp.cn/web/77400.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

牛客 verilog入門 VIP

1、輸出1 答案: timescale 1ns/1nsmodule top_module(output wire one );assign one 1b1; endmodule 2、wire連線 答案: timescale 1ns/1nsmodule wire0(input wire in0,output wire out1 );assign out1 in0; endmodule 3、多wire連線 timescale 1…

簡易版2D我的世界C++程序(有點BUG,但是可以玩!!!)

1、按空格鍵來切換模式(挖掘模式和放置模式),一律用鼠標右鍵來操作!!! 2、按數字1和2鍵來切換放置的方塊(1是草,2是木),樹葉不能放置!&#xff01…

ubuntu使用dify源碼安裝部署教程+避坑指南

很多人,包括我在最初使用dify的時候都習慣使用docker來部署安裝環境,但在二次開發使用過程中,我們可能希望使用源碼來安裝,那么這篇文章我將給大家分享如何在ubuntu系統下使用源碼安裝,并提供大家遇到的疑難雜癥如下: dify安裝使用過程中報錯:/console/api/workspaces/…

java知識體系結構導航

很全:java知識體系結構 個人筆記鏈接 開發工具IDEA IDEA 插件推薦清單 IDEA快捷鍵大全 Java基礎難點 基礎知識_java動態代理 基礎知識_java反射機制 基礎知識-java流steam 基礎知識-java集合collection Spring 01.Spring 框架的演化:從 XML 配置到…

RabbitMQ 的專業術語

術語定義示例/說明生產者(Producer)發送消息到 RabbitMQ 的客戶端應用程序。日志系統將錯誤信息發送到 RabbitMQ。消費者(Consumer)從 RabbitMQ 隊列中接收并處理消息的客戶端應用程序。一個訂單處理服務從隊列中讀取消息并更新數…

mac安裝vm虛擬機安裝包

因為mac安裝虛擬機時,發現下載過程變得不太一樣,會比較麻煩。所以決定發一下我已經下載的安裝包,個人用戶使用免費,商業版請自行去官網下載! 百度網盤下載鏈接 百度網盤 請輸入提取碼 提取碼:d4rc

LLama Factory從入門到放棄

目錄 簡介 安裝 LLama Factory界面介紹 數據格式要求 微調訓練 今天在這里介紹一種常用的大模型微調框架——LLama Factory。 簡介 LLama Factory 是一個高效的界面化大語言模型微調工具庫,支持多種參數高效微調技術,提供簡潔接口和豐富示例&#…

如何借助全球動態IP實現多平臺賬號的批量注冊?

無論是社交網絡、在線購物平臺還是專業應用軟件,賬號的創建和使用都是必不可少的。然而,在面對不同平臺各自的注冊限制和策略時,如何高效、安全且合法地進行賬號批量注冊成為了亟待解決的問題。本文將探討全球動態IP在這一過程中的作用及其如…

django admin 添加自定義頁面

在Django中,你可以通過多種方式向Django Admin添加自定義頁面。以下是一些常見的方法: 方法1:使用ModelAdmin的get_urls()方法 如果你只是想添加一個簡單的頁面來展示信息,你可以在你的ModelAdmin類中重寫get_urls()方法。 from…

Docker容器持久化

引言 Docker 容器作為一種輕量級、可移植的虛擬化技術,廣泛應用于開發、測試和生產環境中。然而,容器天生是短暫的,意味著它們在生命周期結束后會被銷毀,而其中的數據也會隨之丟失。為了確保容器中的數據能夠持久化,我…

ShaderToy學習筆記 02.圓

1. 畫圓 1.1. 圓的方程 圓的方程是:(x^2 y^2 r^2),其中(r)是圓的半徑。 我們可以使用 desmos 來驗證一下。 輸入 x^2 y^2 -10,即可得到圓。 類似下圖 1.2. 畫圓的方式 畫圓:使用圓的方程,判斷每個像素點是否在圓…

一文詳解卷積神經網絡中的卷積層和池化層原理 !!

文章目錄 前言 一、卷積核大小(Kernel Size) 1. 卷積核大小的作用 2. 常見的卷積核大小 3. 選擇卷積核大小的原則 二、步長(Stride) 1. Stride的作用 三、填充(Padding) 1. 填充的作用 四、通道數&#xff…

云+AI雙輪驅動,亞馬遜云科技加速中國企業出海新浪潮

導讀:全球化就是本地化 作者 | 小葳 圖片來源 | 攝圖 近年來,中國企業出海步伐不斷加快,“不出海,就出局”成為很多企業的共識。 據沙利文統計,2024年上半年,超過2000家中國上市企業布局海外市場&#xff…

C語言HashTable基本理解

文章目錄 一、哈希表概念1. 哈希表的基本概念2. 哈希表的核心組件2.1 哈希函數2.2 沖突處理(哈希碰撞) 3.哈希表的三種結構(1) 數組作為哈希表示例: 2. Set(集合)示例:查找數組中的重復元素1. Set 基礎概念…

【緩存與數據庫結合最終方案】偽從技術

實現偽從技術:基于Binlog的Following表變更監聽與緩存更新 技術方案概述 要實現一個專門消費者服務作為Following表的偽從,訂閱binlog并在數據變更時更新緩存,可以采用以下技術方案: 主要組件 MySQL Binlog監聽:使…

《100天精通Python——基礎篇 2025 第3天:變量與數據類型全面解析,掌握Python核心語法》

目錄 一、Python變量的定義和使用二、Python整數類型(int)詳解三、Python小數/浮點數(float)類型詳解四、Python復數類型(complex)詳解---了解五、Python字符串詳解(包含長字符串和原始字符串)5.1 處理字符串中的引號5.2 字符串的…

【前后端分離項目】Vue+Springboot+MySQL

文章目錄 1.安裝 Node.js2.配置 Node.js 環境3.安裝 Node.js 國內鏡像4.創建 Vue 項目5.運行 Vue 項目6.訪問 Vue 項目7.創建 Spring Boot 項目8.運行 Spring Boot 項目9.訪問 Spring Boot 項目10.實現 Vue 與 Spring Boot 聯動11.安裝 axios12.編寫請求13.調用函數請求接口14.…

線性代數(一些別的應該關注的點)

一、矩陣 矩陣運算:線性變換 縮放、平移、旋轉 無所不能的矩陣 - 三維圖形變換_嗶哩嗶哩_bilibili

01Redis快速入門(nosql、安裝redis、客戶端、命令及類型、java客戶端、序列化)

Redis的常見命令和客戶端使用 1.初識Redis Redis是一種鍵值型的NoSql數據庫,這里有兩個關鍵字: 鍵值型 NoSql 其中鍵值型,是指Redis中存儲的數據都是以key、value對的形式存儲,而value的形式多種多樣,可以是字符串…

AI編程:[體驗]從 0 到 1 開發一個項目的初體驗

一、開發信息 開發時間:1.5-2天工具使用: 不熟練,開發本項目前1天,才簡單使用了Cursor的功能 功能復雜度: 開發的功能相對簡單。頁面:2個,登錄頁面,個人中心頁面功能:5個…