持續集成03--Jenkins的安裝與配置

前言

????????在持續集成/持續部署(CI/CD)的實踐中,Jenkins作為一個開源的自動化服務器,扮演著至關重要的角色。本篇“持續集成03--Jenkins的安裝配置”將帶您走進Jenkins的世界,深入了解如何在Linux環境中安裝并配置Jenkins。從安裝前的準備工作到Jenkins的基本配置,我們將一步步搭建起一個強大的CI/CD平臺。

1、下載Jenkins

????????下載地址:https://www.jenkins.io/download/

????????此處采用的使jenkins.war的方式進行安裝(使用最新版,建議使用發布版,要不然最新版插件版本可能會不匹配)

2、安裝Jenkins

2.1、創建安裝目錄

mkdir /usr/local/jenkins

?2.2、啟動Jenkins

????????將下載的安裝包上傳至jenkins目錄下

# 兩種啟動方式
# 直接啟動(關閉輸出信息后將會關掉進程)
java -jar jenkins.war# 后臺啟動
# jenkins會在構建結束殺掉衍生子進程,導致相關服務啟動失敗,禁用殺死衍生進程的特性
nohup java -jar jenkins_2.452.2.war -Dhudson.util.ProcessTree.disable=true > ./nohup.out 2>&1 &

3、解鎖Jenkins?

?????????訪問地址默認端口是8080:http://ip:8080/

?????????管理員密碼根據提示可查看:/root/.jenkins/secrets/initialAdminPassword,在我們安裝時也有提示。

4、新手入門

4.1、自定義Jenkins

????????根據建議安裝插件(安裝失敗的可先不理會,在系統內部也可以進行單獨安裝)直接點擊繼續;如果全部安裝失敗,則考慮是不是網絡問題或者安裝的不是最新版本的jenkins,導致安裝的最新的插件與jenkins當前版本不匹配。注意:插件過多可能會影響性能

4.2、創建管理員用戶

????????依據提示操作進行,第一個賬號即為管理員賬號;也可不創建用戶,使用admin賬戶繼續(但是使用的是初始密碼,需要在配置文件內修改管理員密碼,修改方式在本文5.2中)

4.3、實例配置?

????????無需修改,直接保存并完成,保存之后則配置完成,開始使用jenkins

4.4、修改鏡像源地址

????????修改路徑:Manage Jenkins--Plugins--Adanced setting,找到升級站點,默認地址:https://updates.jenkins.io/update-center.json,修改為國內鏡像源地址:https://mirror.esuni.jp/jenkins/updates/update-center.json,替換后保存

5、初始化配置

5.1、系統中文設置?

????????我在這一步放棄了,試了N種方法還是沒解決:

  • 安裝插件Localization: Chinese (Simplified)只翻譯了部分內容;
  • 根據網上資料使用Locale插件,安裝后無效,卸載重新安裝、重啟jenkins,依然沒有在系統配置system內顯示Locale,不知道什么原因(大家如果也是只翻譯了部分內容,可以嘗試一下這個方法是不是能用):在jenkins可用插件內搜索Locale進行安裝,然后重啟Jenkins;進入Manage Jenkins--system,找到Locale--Default Language,輸入zh_cn,然后重啟jenkins:http://192.168.235.133:8080/restart;如果發現沒有生效可以設置成en_us重啟,再設置成zh_cn重啟。

5.2、修改admin密碼?

? ? ? ? 修改系統迷人admin密碼,需要通過配置文件進行修改,文件路徑:/root/.jenkins/users/admin_580980282579296987/config.xml,找到passwordHash所在行即為admin密碼;此密碼加密方式為javacrypt,可以使用線上加密工具(可自行百度“jbcrypt在線加密”)進行自定義密碼的加密,然后將#jbcrypt:后面的密碼替換為自己明文加密后的密碼,保存文件,重啟jenkins,重新登錄即可

總結

????????通過“持續集成03--Jenkins的安裝配置”的學習,基本掌握了Jenkins的安裝與基礎配置方法。Jenkins作為CI/CD流程中的核心工具,其強大的自動化能力和靈活的插件系統,將為您的軟件開發與部署帶來前所未有的便利。現在,我們已經擁有了構建自動化測試、代碼質量檢查、自動化部署等流程的關鍵平臺,為提升軟件交付速度和質量奠定了堅實的基礎。隨著對Jenkins的進一步探索與應用,能夠充分利用其潛力,實現更高效、更可靠的軟件開發與運維流程。

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

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

相關文章

VUE:跨域配置代理服務器

//在vite.config。js中,同插件配置同級進行配置server:{proxy:{"/myrequest":{//代理域名,可自行修改target:"https://m.wzj.com/",//訪問服務器的目標域名changeOrigin:true,//允許跨域configure:(proxy,options) > {proxy.on(&…

人工智能與人類社會的共生共榮

隨著科技的飛速發展,人工智能(AI)已經不再是遙不可及的概念,而是深深地融入到了我們的日常生活中。從智能家居到智慧城市,從自動駕駛到醫療診斷,人工智能正以前所未有的方式改變著人類社會的每一個角落。然…

掌握Laravel控制器:構建強大應用的基石

掌握Laravel控制器:構建強大應用的基石 在Laravel框架中,控制器(Controller)是處理用戶請求和返回響應的核心組件。控制器充當了應用邏輯的中轉站,它接收來自路由的請求,處理這些請求,并返回視…

C4D各版本軟件下載+自學C4D 從入門到精通【學習視頻教程全集】+【素材筆記】

下載鏈接: 迅雷網盤https://pan.xunlei.com/s/VO1tydOxEo-Az_QCM-Jz2R4RA1?pwdvxg4# 夸克網盤https://pan.quark.cn/s/fe7450b02d80 百度網盤https://pan.baidu.com/s/1Omj4WL93F1DNdA2iP4SiMQ?pwdwmb8

[C++] 深度剖析C_C++內存管理機制

文章目錄 內存分布內存分布圖解 C語言中動態內存管理方式malloc:callocrealloc C內存管理方式內置類型**自定義類型** operator new & operator deleteoperator new & operator delete函數operator newoperator delete **new T[N]** 與**delete[]** **定位new表達式(pl…

vue 實現下拉框的數據是樹狀結構

頁面顯示效果 vue實現代碼 <el-form-item label"公司名稱" prop"comName"><el-select ref"select" v-model"queryParams.comName" placeholder"請選擇公司名稱" clearable size"small"change"handl…

可學習激活函數 Maxout

可學習激活函數 Maxout 是一種神經網絡中的激活函數&#xff0c;它在特征提取的過程中能夠學習到最優的激活方式&#xff0c;從而提高模型的表達能力和性能。Maxout 由 Ian Goodfellow 等人在2013年提出&#xff0c;是一種能夠在訓練過程中自適應地選擇激活函數的模型。 Maxou…

在 Windows 上開發.NET MAUI 應用_1.安裝開發環境

開發跨平臺的本機 .NET Multi-platform App UI (.NET MAUI) 應用需要 Visual Studio 2022 17.8 或更高版本&#xff0c;或者具有 .NET MAUI 擴展的最新 Visual Studio Code。要開始在 Windows 上開發本機跨平臺 .NET MAUI 應用&#xff0c;請按照安裝步驟安裝 Visual Studio 20…

分布式 I/O 系統Modbus TCP 耦合器BL200

BL200 耦合器是一個數據采集和控制系統&#xff0c;基于強大的 32 位微處理器設計&#xff0c;采用 Linux 操作系統&#xff0c;可以快速接入現場 PLC、SCADA 以及 ERP 系統&#xff0c; 內置邏輯控制、邊緣計算應用&#xff0c;支持標準 Modbus TCP 服務器通訊&#xff0c;以太…

SVN常用命令

VCS VCS&#xff08;Version Control System&#xff09;是版本控制系統的縮寫&#xff0c;它是一種用于管理和跟蹤軟件代碼變化的系統 SVN Subversion&#xff08;SVN&#xff09;是一個廣泛使用的版本控制系統&#xff0c;用于管理源代碼和文檔。在命令行中使用SVN涉及一系…

Blender使用(二)點線面基本操作

Blender使用之點線面 1.編輯模式 tab鍵進行切換&#xff0c;為了方便菜單調出&#xff0c;可以設置鍵位映射為拖動時的餅菜單。 設置好后&#xff0c;按住tab鍵移動鼠標(注意不要點擊鼠標)&#xff0c;即可彈出編輯菜單。 默認是點模式&#xff0c;在左上角可進行點線面的切換…

電腦型號數據源的性能提升:新一代技術的突破

隨著科技的不斷發展&#xff0c;電腦型號的數據源性能也得到了顯著的提升。新一代技術的突破使得電腦型號的數據源更加準確、全面且易于使用。本文將從代碼的角度解釋這一突破&#xff0c;并參考挖數據平臺的內容&#xff0c;向大家介紹電腦型號數據源的性能提升。 首先&#…

嘗試理解docker網絡通信邏輯

一、docker是什么 Docker本質是一個進程,宿主機通過namespace隔離機制提供進程需要運行基礎環境&#xff0c;并且通過Cgroup限制進程調用資源。Docker的隔離機制包括 network隔離&#xff0c;此次主要探討網絡隔離mount隔離hostname隔離user隔離pid隔離進程通信隔離 二、doc…

spring-boot2.x整合Kafka步驟

1.pom依賴添加 <properties><java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</ma…

自學鴻蒙HarmonyOS的ArkTS語言<十二>wrapBuilder:組件工廠類封裝

// FactoryComponent.ets Builder function Radio1() {Column() {Text(單選組件&#xff1a;)Row() {Radio({ value: 1, group: radioGroup })Text(選項1)}Row() {Radio({ value: 2, group: radioGroup })Text(選項2)}}.margin(10) }Builder function Checkbox1() {Column() {T…

DP(5) | 完全背包 | Java | 卡碼52, LeetCode 518, 377, 70 做題總結

完全背包 感覺越寫越糊涂了&#xff0c;初始化怎么做的&#xff1f;遞推公式怎么來的&#xff1f; 卡碼52. 攜帶研究材料 https://kamacoder.com/problempage.php?pid1052 import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new …

Java面試八股之Redis集群是怎么選擇數據庫的

在Redis集群中&#xff0c;數據被水平分割&#xff08;sharding&#xff09;到各個節點上&#xff0c;這意味著所有的鍵空間被分成16384個哈希槽&#xff08;hash slots&#xff09;&#xff0c;這些槽均勻地分布在集群中的各個節點上。Redis集群并不支持傳統的數據庫切換&…

xiuno兔兔超級SEO插件(精簡版)

xiuno論壇是一個一款輕論壇產品的論壇&#xff0c;但是對于這個論壇基本上都是用插件實現&#xff0c;一個論壇怎么能離開網站seo&#xff0c;本篇分享一個超級seo插件&#xff0c;自動sitemap、主動提交、自動Ping提交。 插件下載:tt_seo.zip

實驗11 數據庫日志及數據庫恢復

一、 實驗目的 了解Mysql數據庫系統中數據恢復機制和主要方法。 二、 實驗環境 操作系統&#xff1a;Microsoft Windows 7旗艦版&#xff08;32&64位&#xff09;/Linux。 硬件&#xff1a;容量足以滿足MySQL 5.7&#xff08;8.0&#xff09;安裝及后續實驗的使用。 軟件…

Python | Leetcode Python題解之第232題用棧實現隊列

題目&#xff1a; 題解&#xff1a; class MyQueue:def __init__(self):self.A, self.B [], []def push(self, x: int) -> None:self.A.append(x)def pop(self) -> int:peek self.peek()self.B.pop()return peekdef peek(self) -> int:if self.B: return self.B[-1…