Jenkins安裝部署(以及常見報錯解決方案),jdk版本控制器sdkman

目錄

零、環境介紹

一、Jenkins安裝

1、插件安裝以及更換插件源

?2、修改jenkins時區

二、sdkman安裝(可選)

1、sdkman常用方法

2、sdkman常用方法演示

2.1、查看可用的jdk

2.2、下載jdk并切換版本

三、jenkins報錯解決

1、下載sdkman后systemctl啟動失敗

2、 其他可能的報錯

2.1、端口占用問題

2.2、用戶名問題

2.3、版本兼容性問題

2.4、 防火墻問題

2.5、權限問題


零、環境介紹

Operating SystemopenEuler 22.03 (LTS-SP2)
KernelLinux 5.10.0-153.12.0.92.oe2203sp2.x86_64
ip address192.168.240.11
JDK versionjdk-17
jenkins version2.479.3-1.1

安裝之前先調整防火墻:

jenkins官網給的防火墻策略:

YOURPORT=8080
PERM="--permanent"
SERV="$PERM --service=jenkins"firewall-cmd $PERM --new-service=jenkins
firewall-cmd $SERV --set-short="Jenkins ports"
firewall-cmd $SERV --set-description="Jenkins port exceptions"
firewall-cmd $SERV --add-port=$YOURPORT/tcp
firewall-cmd $PERM --add-service=jenkins
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

嫌麻煩直接關掉防火墻也行:

sudo systemctl stop firewalld
sudo systemctl disable firewalld

一、Jenkins安裝

按照官網的參考文檔安裝即可

Jenkins安裝參考文檔

sudo wget -O /etc/yum.repos.d/jenkins.repo \https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
sudo yum upgrade
# Add required dependencies for the jenkins package
sudo yum install fontconfig java-17-openjdk
sudo yum install jenkins
sudo systemctl daemon-reload
sudo systemctl start jenkins
sudo systemctl enable jenkins
sudo systemctl status jenkins

順利安裝完成的話,執行systemctl status?jenkins顯示以下結果:

查看jenkins版本

?

?在瀏覽器輸入:http://192.168.240.11:8080

?管理員密碼在紅色的提示文件當中,填入你自己的密碼

cat /var/lib/jenkins/secrets/initialAdminPassword

?安裝推薦的插件,如果嫌慢也可以離線導入。

等待安裝完成。

1、插件安裝以及更換插件源

依次點擊Dashboard-->?系統管理--> 插件管理

在底部填寫國內的jenkins插件源

https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json

?提交后重啟jenkins,會提示有可更新的插件,將這些插件更新,最后顯示No updates available

?2、修改jenkins時區

?依次點擊Dashboard -->系統管理-->?Script Console

?填入以下內容,底部運行結果顯示Result: Asia/Shanghai

 System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')

?

二、sdkman安裝(可選)

sdk官方下載網址

yum install -y tar
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version

查看sdk版本,檢驗是否下載完畢:

1、sdkman常用方法

sdkman官方使用指南

  • 查看SKDMAN版本號: sdk version
  • 列出可用的SDK列表: sdk list
  • 安裝特定的SDK: sdk install <sdk-name> <version>,例如,安裝Java 8: sdk install java 8.0.292.hs-adpt
  • 切換SDK版本: sdk use <sdk-name> <version>,例如,切換到Java 9: sdk use java 9.0.7-zulu
  • 設置默認的SDK版本: sdk default <sdk-name> <version>,例如,設置Java 8為默認版本: sdk default java 8.0.292.hs-adpt
  • 卸載SDK: sdk uninstall <sdk-name> <version>,例如,卸載Java 9: sdk uninstall java 9.0.7-zulu
  • 更新SDKMAN: sdk upgrade
  • 清除舊版本的SDK: sdk flush archives sdk flush temp

以上為SDKMAN的基本使用命令,如果想要更多指令,可以輸入sdk help來查看全部的指令內容。

2、sdkman常用方法演示

2.1、查看可用的jdk

sdk list java

下載java 17.0.14-zulu

下載之前,先看看Java二進制文件所在路徑

which java

?[root@openEuler-1 ~]# which java
/usr/bin/java

?之所以查看這個路徑,是因為安裝了sdkman,并且切換jdk版本后,默認的java二進制文件路徑會變更為/root/.sdkman/candidates/java/current/bin/java,稍后驗證。

2.2、下載jdk并切換版本

sdk install ?java 17.0.14-zulu

查看jdk版本

java -version

[root@openEuler-1 ~]# java -version
openjdk version "17.0.14" 2025-01-21 LTS
OpenJDK Runtime Environment Zulu17.56+15-CA (build 17.0.14+7-LTS)
OpenJDK 64-Bit Server VM Zulu17.56+15-CA (build 17.0.14+7-LTS, mixed mode, sharing)

初次下載會自動切換,現在我的機器jdk版本由17.0.11變為17.0.14

三、jenkins報錯解決

1、下載sdkman后systemctl啟動失敗

我們剛才切換了jdk版本后,雖然jdk版本由17.0.11變為17.0.14,但是同為jdk-17,應該不會出錯

嘗試重啟Jenkins,發現的確沒有出錯。

但是,有時編譯安裝jdk后,再下載sdkman,可能會有如下報錯:

關鍵提示:Unit jenkins.service not found

?意思是jenkins服務單元沒有找到,原因是因為systemctl啟動時調用的jenkins.service文件在/usr/lib/systemd/system目錄下,無法調用/etc/init.d/下的jenkins。所以如果遇到服務方式無法啟動jenkins,則需要修改jenkins.service來進行適配:

vim /usr/lib/systemd/system/jenkins.service

添加或者去掉注釋修改以下內容:

Environment="JAVA_HOME=/root/.sdkman/candidates/java/current/bin/java"

?添加的內容其實就是,sdkman給我們修改的java二進制文件路徑

重載并重啟jenkins發現錯誤解決了:

systemctl daemon-reload
systemctl start jenkins
systemctl status jenkins

2、 其他可能的報錯

2.1、端口占用問題


查看/etc/sysconfig/jenkins的JENKINS_PORT="8080”或者/usr/lib/systemd/system/jenkins.service的Environment="JENKINS_PORT=8080"

grep -i jenkins_port= /usr/lib/systemd/system/jenkins.service
ps -aux | grep 8080



vim /usr/lib/systemd/system/jenkins.service

把/usr/lib/systemd/system/jenkins.service的Environment="JENKINS_PORT=8080"改為你當前linux空閑的端口,然后重啟jenkins

systemctl daemon-reload
systemctl start jenkins.service
systemctl stop jenkins.service
systemctl status jenkins.service

2.2、用戶名問題

?查看/etc/sysconfig/jenkins或者/usr/lib/systemd/system/jenkins.service的JENKINS_USER="root",如果不是root,而是jenkins或者其它,要改成root。或者相反操作。

vim /usr/lib/systemd/system/jenkins.service
User=root
Group=root
systemctl daemon-reload
systemctl start jenkins.service
systemctl stop jenkins.service
systemctl status jenkins.service

2.3、版本兼容性問題

檢查當前的jdk版本是否對應jenkins版本,不符合兼容性就切換jdk到對應版本。如何選擇jdk版本或者jenkins版本參考jenkins官方文檔:

Java Support Policy

2.4、 防火墻問題

文章開頭已經講過了,如果開始放行的是8080端口,你后面又改為了其他端口,自己配置對應的防火墻策略即可。

2.5、權限問題

如果使用jenkins用戶和jenkins組的身份來啟動jenkins服務,有可能因為jenkins用戶的權限低而不能讀取有關文件而導致啟動失敗,我們給jenkins用戶提權即可。

echo "jenkins ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
sudo chown -R jenkins:jenkins /var/lib/jenkins
sudo chown jenkins:jenkins /usr/share/java/jenkins.war

不同版本的路徑可能不同,可以使用find找出。

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

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

相關文章

大數據挖掘--兩個角度理解相似度計算理論

文章目錄 0 相似度計算可以轉換成什么問題1 集合相似度的應用1.1 集合相似度1.1文檔相似度1.2 協同過濾用戶-用戶協同過濾物品-物品協同過濾 1.2 文檔的shingling--將文檔表示成集合1.2.1 k-shingling1.2.2 基于停用詞的 shingling 1.3 最小哈希簽名1.4 局部敏感哈希算法&#…

關于貪心學習的文筆記錄

貪心&#xff0c;顧名思義就是越貪越好&#xff0c;越多越有易&#xff0c;他給我的感覺是&#xff0c;通常是求最大或最小問題&#xff0c;相比于動態規劃貪心讓人更加琢磨不透&#xff0c;不易看出方法&#xff0c;為此在這記錄我所見過的題型和思維方法&#xff0c;以便回頭…

c語言練習題【數據類型、遞歸、雙向鏈表快速排序】

練習1&#xff1a;數據類型 請寫出以下幾個數據的數據類型 整數 a a 的地址 存放a的數組 b 存放a的地址的數組 b的地址 c的地址 指向 printf 函數的指針 d 存放 d的數組 整數 a 的類型 數據類型是 int a 的地址 數據類型是 int*&#xff08;指向 int 類型的指針&#xff09; …

聯想拯救者Y9000P IRX8 2023 (82WK) 原廠Win11 家庭中文版系統 帶一鍵還原功能 安裝教程

安裝完重建winre一鍵還原功能&#xff0c;和電腦出廠時的系統狀態一模一樣。自動機型專用軟件&#xff0c;全部驅動&#xff0c;主題壁紙&#xff0c;自動激活&#xff0c;oem信息等。將電腦系統完全恢復到出廠時狀態。 支持機型 (MTM) : 82WK 系統版本&#xff1a;Windows 1…

搜索與圖論復習2最短路

單源最短路---所有邊權是正數(Dijkstra算法O(n^2)--稠密圖(鄰接矩陣)和堆優化的Dijkstra算法O(mlogn)--稀疏圖(鄰接表)) 或存在負邊權(Bellman-ford貝爾曼福特算法O(nm)和SPFA一般O(m) 最壞O(nm) ) 多源最短路---Floyd算法O(n^3) 一、迪杰斯特拉算法(Dijkstra)&#xff1a;1…

Unity GetLocalizedString()失效問題

問題&#xff1a; 在一個自定義類中調用GetLocalizedString()的方法&#xff0c;是無效的&#xff08;創建這個自定義類的腳本沒掛載到場景中&#xff09;。 解決方法: 將自定義類的GetLocalizedString()方法換個地方&#xff0c;換到在場景中掛載的一個腳本實例&#xff08;…

【建站】專欄目錄

建站專欄的想法有很多&#xff0c;想寫窮鬼如何快速低成本部署前后端項目讓用戶能訪問到&#xff0c;如何將網站收錄到百度&#xff0c;bing&#xff0c;google并優化seo讓搜索引擎搜索到網站&#xff0c;想寫如何把網站加入google廣告或者接入stripe信用卡首款平臺收款&#x…

深入解析“legit”的地道用法——從俚語到正式表達:Sam Altman用來形容DeepSeek: legit invigorating(真的令人振奮)

深入解析“legit”的地道用法——從俚語到正式表達 一、引言 在社交媒體、科技圈甚至日常對話中&#xff0c;我們經常會看到或聽到“legit”這個詞。比如最近 Sam Altman 在 X&#xff08;原 Twitter&#xff09;上發的一條帖子中寫道&#xff1a; we will obviously deliver …

Vue 圖片引用方式詳解:靜態資源與動態路徑訪問

目錄 前言1. 引用 public/ 目錄2. assets/ 目錄3. 遠程服務器4. Vue Router 動態訪問5. 總結6. 擴展&#xff08;圖片不顯示&#xff09; 前言 &#x1f91f; 找工作&#xff0c;來萬碼優才&#xff1a;&#x1f449; #小程序://萬碼優才/r6rqmzDaXpYkJZF 在 Vue 開發中&#x…

DeepSeek-R1 本地部署教程(超簡版)

文章目錄 一、DeepSeek相關網站二、DeepSeek-R1硬件要求三、本地部署DeepSeek-R11. 安裝Ollama1.1 Windows1.2 Linux1.3 macOS 2. 下載和運行DeepSeek模型3. 列出本地已下載的模型 四、Ollama命令大全五、常見問題解決附&#xff1a;DeepSeek模型資源 一、DeepSeek相關網站 官…

JVM運行時數據區域-附面試題

Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分為若干個不同的數據區域。這些區域 有各自的用途&#xff0c;以及創建和銷毀的時間&#xff0c;有的區域隨著虛擬機進程的啟動而一直存在&#xff0c;有些區域則是 依賴用戶線程的啟動和結束而建立和銷毀。 1. 程序計…

什么是LPU?會打破全球算力市場格局嗎?

在生成式AI向垂直領域縱深發展的關鍵節點&#xff0c;一場靜默的芯片革命正在改寫算力規則。Groq研發的LPU&#xff08;Language Processing Unit&#xff09;憑借其顛覆性架構&#xff0c;不僅突破了傳統GPU的性能天花板&#xff0c;更通過與DeepSeek等國產大模型的深度協同&a…

如何構建ObjC語言編譯環境?構建無比簡潔的clang編譯ObjC環境?Windows搭建Swift語言編譯環境?

如何構建ObjC語言編譯環境? 除了在線ObjC編譯器&#xff0c;本地環境Windows/Mac/Linux均可以搭建ObjC編譯環境。 Mac自然不用多說&#xff0c;ObjC是親兒子。(WSL Ubuntu 22.04) Ubuntu可以安裝gobjc/gnustep和gnustep-devel構建編譯環境。 sudo apt-get install gobjc gnus…

2月3日星期一今日早報簡報微語報早讀

2月3日星期一&#xff0c;農歷正月初六&#xff0c;早報#微語早讀。 1、多個景區發布公告&#xff1a;售票數量已達上限&#xff0c;請游客合理安排行程&#xff1b; 2、2025春節檔總票房破70億&#xff0c;《哪吒之魔童鬧海》破31億&#xff1b; 3、美宣布對中國商品加征10…

DeepSeek 原理解析:與主流大模型的差異及低算力優勢

在人工智能大模型蓬勃發展的浪潮中&#xff0c;DeepSeek 以其獨特的技術路線和出色的性能表現脫穎而出。與主流大模型相比&#xff0c;DeepSeek 不僅在技術原理上有著顯著的差異&#xff0c;還展現出了在較低算力下達到 OpenAI API 水平的卓越能力。本文將深入剖析這些獨特之處…

C++ Primer 標準庫vector

歡迎閱讀我的 【CPrimer】專欄 專欄簡介&#xff1a;本專欄主要面向C初學者&#xff0c;解釋C的一些基本概念和基礎語言特性&#xff0c;涉及C標準庫的用法&#xff0c;面向對象特性&#xff0c;泛型特性高級用法。通過使用標準庫中定義的抽象設施&#xff0c;使你更加適應高級…

【Numpy核心編程攻略:Python數據處理、分析詳解與科學計算】2.6 廣播機制核心算法:維度擴展的數學建模

2.6 廣播機制核心算法&#xff1a;維度擴展的數學建模 目錄/提綱 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…

【Elasticsearch】硬件資源優化

&#x1f9d1; 博主簡介&#xff1a;CSDN博客專家&#xff0c;歷代文學網&#xff08;PC端可以訪問&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移動端可微信小程序搜索“歷代文學”&#xff09;總架構師&#xff0c;15年工作經驗&#xff0c;精通Java編…

bootstrap.yml文件未自動加載問題解決方案

在添加bootstrap.yml文件后,程序未自動掃描到,即圖標是這樣的: 查了一些資料,是缺少bootstrap相關依賴,雖然已經添加了spring-cloud-context依賴,但是這個依賴并未引入bootstrap依賴,可能是版本問題,需要手動引入 <dependency><groupId>org.springframework.cloud&…

C++底層學習預備:模板初階

文章目錄 1.編程范式2.函數模板2.1 函數模板概念2.2 函數模板原理2.3 函數模板實例化2.3.1 隱式實例化2.3.2 顯式實例化 2.4 模板參數的匹配原則 3.類模板希望讀者們多多三連支持小編會繼續更新你們的鼓勵就是我前進的動力&#xff01; 進入STL庫學習之前我們要先了解有關模板的…