Linux中部署Jenkins保姆間教程

?本文將以docker的方式,講述如何部署Jenkins

一、拉取Jenkins鏡像

1.1 最新版Jenkins介紹

最新版Jenkins地址:Download and deploy

當前最新版的如下圖所示:

1.2 各版本支持的JDK版本

地址如下:Java Support Policy

如果你安裝了不受支持的 Java 版本,你的 Jenkins 控制器將無法運行。?

特別注意:此處的JDK版本是Jenkins運行所依賴的版本。比如jenkins/jenkins:2.492.3
不支持在 JDK8 上運行。根據 Jenkins 的官方文檔,從 jenkins/jenkins:2.492.3 版本開始,要求至少使用 Java 17 或更新版本來運行。(官方鏡像已內置 OpenJDK)。不過,盡管 Jenkins 本身需要 Java 17 或更新版本來運行,但這并不意味著你不能在 Jenkins 中配置 JDK8 來構建項目。你仍然可以在 Jenkins 的全局工具配置中,為構建任務指定 JDK8,而 Jenkins 運行時使用 Java 17 或更高版本。

1.3 拉取jenkins/jenkins:2.492.3 版本的鏡像

docker pull jenkins/jenkins:2.492.3

1.4 查看鏡像

docker images

二、啟動Jenkins容器

2.1 創建掛載目錄

mkdir -p docker-jenkins/jenkins_home

2.2 設置權限

chmod -R 777 /docker-jenkins/jenkins_home

2.3啟動容器

docker run -d \--name jenkins \--restart=always \-p 8080:8080 \-p 50000:50000 \-v /docker-jenkins/jenkins_home:/var/jenkins_home \-v /etc/localtime:/etc/localtime:ro \jenkins/jenkins:2.492.3

2.4 查看容器

docker ps

三、初始化Jenkins

3.1 查看Jenkins日志,查看臨時密碼

docker logs xxx

xxx為容器的id?

3.2 訪問Jenkins的Web控制臺

通過部署機器的8080端口進行訪問。訪問的過程會很慢等待一下。服務器內存最好大點,內存小的容易啟動不起來。

然后輸入剛剛獲取的臨時密碼

3.3 安裝插件

輸入臨時密碼,稍等后會進行插件頁面,選擇《安裝推薦的插件即可》:

等待一段時間后,插件安裝如下(如果過程中出現幾個失敗先不管):

接下來按照步驟,創建一個用戶,然后就可以開始使用Jenkins啦。

3.4 正常使用

如果你順利完成了上面的步驟,你就可以正常使用Jenkins了。

3.5 漢化(非必選)

進入插件Plugins:

搜索Locale,勾選,點擊安裝

下載完成后,可以點擊勾選空閑時重啟jenkins,也可以自己重啟:

四、jenckins實現自動打包持續集成

4.1 新建任務

首先點擊新建任務

然后輸入一個任務名稱,選擇構建一個自由風格的軟件項目

然后可以選擇性的寫一下描述,并選擇源碼管理中的Git

然后輸入我們的倉庫地址,會顯示無法連接,此時我們點擊添加按鈕(用于添加Git賬號)

輸入用戶名和密碼后點擊添加

然后選擇Credentials,并save保存。如果要該分支,請自行修改

保持后,回到Dashboard頁面,即可看到項目????????

4.2 配置全局Maven

4.2.1 準備maven

這里以上傳我們自己的Maven為案例

首先進入Jenkins掛在目錄:

cd /docker-jenkins/jenkins_home

其次上傳maven:

4.2.2配置Maven

進入系統管理:

選擇全局工具配置:

先滑倒最下面,點擊《新增Maven》:

然后填寫maven的信息(注意:此次要填容器內的地址):

當然在這里,我們也可以選擇自動安裝啦

接著,我們滑到最頂端,配置Maven的settings 配置文件,配置完點擊保存:

(注意要配置容器內的文件路徑)

4.3 嘗試構建

點擊進入對應的項目:

點擊立刻構建:

查看控制臺輸出:

發現沒有git tool:

4.4 解決問題

4.4.1 檢查是否有Git plugin

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

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

相關文章

【軟考中級·軟件評測師】下午題·面向對象測試之架構考點全析:分層、分布式、微內核與事件驅動

一、分層架構:分層獨立與質量特性的雙向約束 分層架構通過“垂直分層(表示層→服務層→業務邏輯層→數據層)”實現職責隔離,是Web應用、企業級系統的主流架構模式。 1. 父類成員函數重測場景 子類繼承父類時,若父類…

C++ 快速回顧(五)

C 快速回顧(五) 前言一、Dll和Lib的區別區別在開發中使用 二、封裝并使用C庫1.封裝庫2.使用庫 三、封裝并使用C庫1.封裝庫2.使用庫 前言 用于快速回顧之前遺漏或者補充C知識 一、Dll和Lib的區別 靜態庫(LIB)在編譯時鏈接&#…

【ARM】解決ArmDS的工程沒有生成Map文件的問題

1、 文檔目標 在嵌入式開發過程中,使用Arm Development Studio(簡稱ArmDS)進行項目構建時,Map文件的生成是調試和分析代碼的重要環節。Map文件不僅記錄了程序中各個段(sections)的內存分布情況&#xff0c…

Java如何導出word(根據模板生成),通過word轉成pdf,放壓縮包

<!-- 導出word文檔所需依賴--><dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.10.0-beta</version></dependency><dependency><groupId>org.apache.poi</gr…

【C#】 DevExpress.XtraEditors.SidePanel

DevExpress.XtraEditors.SidePanel&#xff0c; 它是 DevExpress 提供的“側邊滑出”面板&#xff08;類似于抽屜、浮動信息區&#xff09;&#xff0c;非常適合做可隱藏的參數區、幫助區、臨時交互區等。 SidePanel 用法核心點 1. 基本用法 可容納其它控件&#xff0c;就像普…

1.1_2 計算機網絡的組成和功能

在這個視頻中&#xff0c;我們會探討計算機網絡的組成和功能。我們會從三個視角去探討計算機網絡由哪些部分組成&#xff0c;其次&#xff0c;我們會簡單的了解計算機網絡的功能。 首先我們可以把計算機網絡看作是由硬件、軟件和協議共同組成的一個龐大復雜的系統。首先在硬件上…

Linux驅動學習day11(定時器)

定時器 定時器主要作用就是&#xff1a;設置超時時間&#xff0c;執行超時函數。 按鍵按下存在抖動&#xff0c;為了消除抖動可以設置定時器&#xff0c;如上圖所示&#xff0c;按下一次按鍵會產生多次抖動&#xff0c;即會產生多次中斷&#xff0c;在每次中斷產生的時候&…

Java 編程之觀察者模式詳解

一、什么是觀察者模式&#xff1f; 觀察者模式&#xff08;Observer Pattern&#xff09;是一種行為型設計模式&#xff0c;用于對象之間的一對多依賴關系&#xff1a;當被觀察對象&#xff08;Subject&#xff09;狀態發生變化時&#xff0c;所有依賴它的觀察者&#xff08;O…

【C++】經典string類問題

目錄 1. 淺拷貝 2. 深拷貝 3. string類傳統寫法 4. string類現代版寫法 5. 自定義類實現swap成員函數 6. 標準庫swap函數的調用 7. 引用計數和寫時拷貝 1. 淺拷貝 若string類沒有顯示定義拷貝構造函數與賦值運算符重載&#xff0c;編譯器會自動生成默認的&#xff0c…

kotlin中object:的用法

在Kotlin中&#xff0c;object: 用于聲明匿名對象&#xff08;Anonymous Object&#xff09;&#xff0c;這是實現接口或繼承類的輕量級方式&#xff0c;無需顯式定義具名類。以下是核心用法和場景&#xff1a; 1. 基本語法 val obj object : SomeInterface { // 實現接口ov…

js代碼04

題目 非常好。我們剛剛看到了回調函數在處理多個異步操作時會變得多么混亂&#xff08;回調地獄&#xff09;。為了解決這個問題&#xff0c;現代 JavaScript 提供了一個更強大、更優雅的工具&#xff1a;Promise。 Promise&#xff0c;正如其名&#xff0c;是一個“承諾”。…

Jenkins初探-通過Docker部署Jenkins并安裝插件

簡介 本文介紹了使用Docker安裝Jenkins并進行初始配置的完整流程。主要內容包括&#xff1a; (1)通過docker pull命令獲取Jenkins鏡像&#xff1b;(2)使用docker run命令啟動容器并映射端口&#xff1b;(3)訪問Jenkins界面獲取初始管理員密碼&#xff1b;(4)安裝推薦插件并創…

嵌入式開發:GPIO、UART、SPI、I2C 驅動開發詳解與實戰案例

&#x1f4cd; 本文為嵌入式學習系列第二篇&#xff0c;基于 GitHub 開源項目&#xff1a;0voice/EmbeddedSoftwareLearn &#x1f4ac; 作者&#xff1a;0voice &#x1f440; 適合對象&#xff1a;嵌入式初學者、STM32學習者、想搞明白外設驅動開發的C語言學習者 一、驅動是什…

常用 Linux 命令和 shell 腳本語言整理

目錄 一、Linux 命令大全 1、文件和目錄操作 &#xff08;1&#xff09;ls 列出目錄內容 &#xff08;2&#xff09;pwd 查看當前目錄 &#xff08;3&#xff09;cd 切換目錄 &#xff08;4&#xff09;mkdir 創建目錄 &#xff08;5&#xff09;cp 復制文件或目錄 &…

YOLOv12_ultralytics-8.3.145_2025_5_27部分代碼閱讀筆記-autobackend.py

autobackend.py ultralytics\nn\autobackend.py 目錄 autobackend.py 1.所需的庫和模塊 2.def check_class_names(names: Union[List, Dict]) -> Dict[int, str]: 3.def default_class_names(data: Optional[Union[str, Path]] None) -> Dict[int, str]: 4.cla…

【MySQL基礎】MySQL索引全面解析:從原理到實踐

MySQL學習&#xff1a; https://blog.csdn.net/2301_80220607/category_12971838.html?spm1001.2014.3001.5482 前言&#xff1a; 在前面我們基本上已經把MySQL的基礎知識都進行了學習&#xff0c;但是我們之前處理的數據都是十分少的&#xff0c;但是如果當我們的數據量很大…

第三十五章 I2S——音頻傳輸接口

第三十五章 I2S——音頻傳輸接口 目錄 第三十五章 I2S——音頻傳輸接口 1 I2S概述 1.1 簡介 1.2 功能特點 1.3 工作原理 1.4 利用DMA通信的I2S 1.4.1 I2S配合DMA通信工作原理 1.4.2 配置要點 2 應用場景 2.1 消費類音頻設備 2.2 專業音頻設備 2.3 通信設備 2.4 汽車電子 2.5 嵌…

產品-Figma(英文版),圖像的布爾類型圖例說明

文章目錄 Union SelectionSubtract SelectionIntersect SelectionExclude SelectionFlatten Selection Union Selection 把多個形狀合并成一個新的完整形狀&#xff0c;保留所有外部輪廓&#xff0c;內部不被切割。由于紅色的長方形在外面的一層&#xff0c;所以切割后&#x…

Windows CMD命令分類大全

?? ?一、系統與磁盤管理? ?系統信息? systeminfo&#xff1a;查看詳細硬件及系統配置&#xff08;版本/內存/補丁&#xff09;211 winver&#xff1a;快速檢查Windows版本11 msinfo32&#xff1a;圖形化系統信息面板811?磁盤工具? chkdsk /f&#xff1a;修復磁盤錯誤&…

【Dify系列】【Dify1.4.2 升級到Dify1.5.0】

1. 升級前準備工作 1.1 數據備份&#xff1a; 進入原安裝包 docker 目錄&#xff0c;備份“volumes”文件夾&#xff0c;此文件夾包含了 Dify 數據庫數據&#xff1a; rootjoe:/usr/local/dify/docker/volumes# pwd /usr/local/dify/docker/volumesrootjoe:/usr/local/dify/…