linux中安裝部署Jenkins,成功構建springboot項目詳細教程

參考別人配置Jenkins的git地址為https,無法連上github拉取項目,所以本章節介紹通過配置SSH地址來連github拉取項目

目錄:

1、springboot項目
1.1 創建名為springcloudproject的springboot項目工程
1.2 已將工程上傳到github中,github工程名為companyProject(這里隨便取)
2、linux環境
2.1 已安裝好jdk、maven、git
2.2 配置git
2.3 生成公鑰
3、 Github配置
3.1 創建Personal access Token
3.2 生成SSH?Keys
3.3 配置webhook
3.4 復制工程的SSH地址下來,后續用,如圖
4、Jenkins安裝以及環境文件配置
4.1 安裝Jenkins
4.2 Jenkins初始化
4.3 全局配置git和maven
4.4 插件安裝
4.5 全局變量設置
5、創建Jenkins任務
5.1 新建任務
5.2 填寫任務名
5.3 填寫任務配置信息
5.4 構建測試
5.5 查看日志


內容:

1、springboot項目

1.1 創建名為springcloudproject的springboot項目工程

主工程下新建個deploy文件夾,并建test.sh文件,內容為: echo "test ....",如圖

1.2 已將工程上傳到github中,github工程名為companyProject(這里隨便取)

2、linux環境

2.1 已安裝好jdk、maven、git

2.2 配置git

執行以下兩行命令

git config --global user.name "git賬號"
git config --global user.email "git綁定的郵箱"

如圖可查看

2.3 生成公鑰

執行命令

ssh-keygen -t rsa -C "剛剛設置的郵箱"

三次回車(圖中紅色框框),可得公鑰生成文件路徑,如下圖

查看公鑰,上圖中/home/company/.ssh/id_rsa.pub文件

拷貝查看到文件的所有內容,后續使用

3、 Github配置

3.1 創建Personal access Token

3.1.1 打開個人Settings頁面

3.1.2 打開Developer Settings 頁面

3.1.3 依次點擊“Personal access tokens” -> “Tokens(classic)” -> “Generate new token”按鈕


3.1.4 勾選如下圖兩處地方,跟填名稱地方就可以了

3.1.5 提交后生成token,復制備份下來

3.2 生成SSH?Keys

3.2.1 按照3.1.1步打開Settings頁面

3.2.2 依次點擊“SSH and GPG keys” -> “New SSH key” 按鈕

3.2.3 填信息生成SSH Key

key欄框位置填2.3步獲取的公鑰

3.3 配置webhook

這步配置,當代碼push上github的時候,會自動通知Jenkins進行構建(需要配合5.3.2步)

3.3.1 打開工程的Settings -> Webhooks -> Add webhook按鈕

3.3.2 添加webhook信息

如下圖,把地址ip改為自己部署Jenkins的服務地址就好了,后面的“/github-webhook/”要加上

3.4 復制工程的SSH地址下來,后續用,如圖

4、Jenkins安裝以及環境文件配置

4.1 安裝Jenkins

https://jenkins.io/download 到Jenkins的官網自行下載所需的war包?

啟動命令:java -jar jenkins.war –-httpPort=8080

然后訪問http://xx.xxx.xx.xx:8080即可

我這里是部署在阿里云服務器,所以要放開8080端口

4.2 Jenkins初始化

打開瀏覽器頁面,輸入http://xx.xxx.xx.xx:8080

復制此路徑

在shell中執行 cat /root/.jenkins/secrets/initialAdminPassword

查看初始密碼,然后復制粘貼到頁面登陸,選擇建議的插件,然后重新設置用戶名密碼

4.3 全局配置git和maven

4.3.1 打開“系統管理”

4.3.2 點擊“全局工具配置”,配置git和maven的安裝路徑

如果git路徑不知道,可以通過命令whereis git查看

4.4 插件安裝

4.4.1 打開“系統管理” -> “插件管理”

4.4.2 搜索安裝Gitlab插件和Maven Integration插件

Gitlab插件:當gitlab有push時觸發jenkins拉取代碼和將構建狀態發送回GitLab Maven Integration:用來簡化建造Maven工程.


安裝完插件后可以重啟一下,直接在網址后邊拼上/restart 可以重啟Jenkins

4.5 全局變量設置

4.5.1 打開“系統管理” -> “系統配置”

4.5.2 往下找到“github服務器”,點擊添加,然后在API URL框填上“https://api.github.com”

4.5.3 點擊憑據下的“添加”按鈕

類型選擇 “Secret text”

Secret項填 3.1.5步生成的token,最后兩個不用填

5、創建Jenkins任務

5.1 新建任務

5.2 填寫任務名

5.3 填寫任務配置信息

5.3.1 選擇“GitHub項目”,url為自己項目的url

5.3.2 Triggers選擇(這個看自己需求)

5.3.3 流水線配置

流水線配置有兩種,這里都介紹下

5.3.3.1 Pipeline script(整章節是這種配置,此配置進行拉取github代碼,并mvn打包java工程)

內容如下

pipeline {agent anystages {stage('Checkout') {steps {//進行拉取代碼git branch: 'dev', credentialsId: '661ea938-9146-4001-bba6-ffa195311c51', url: 'git@github.com:DaQinDiGuo011/companyProject.git'}}stage('Compile-Package') {steps {//進行編譯打包sh 'mvn -Dmaven.test.failure.ignore=true clean package'}}}
}

5.3.3.2?Pipeline script from SCM(此選項是拉取github代碼,然后執行sh腳本,這部只是為了介紹用法)

Repository URL填寫3.4步中的地址

Credentials選擇下一步操作添加的用戶密碼

我使用的是dev分支,所以新增了個dev

gitweb地址填寫自己項目的瀏覽器地址

點擊添加Credentials

用戶密碼為自己登錄github上的用戶密碼

?腳本路徑,添加完保存

該路徑為1.1步里工程目錄下的deploy/test.sh腳本

5.4 構建測試

點擊構建,開始把項目pull到工作空間,并編譯打包

5.5 查看日志

點擊執行的任務里,點擊“Console Output”查看日志,可到部署Jenkins服務器路徑查看Jenkins拉取下來的項目并編譯的日志,日志最后可看到工作空間地址

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

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

相關文章

提升數據洞察力:五款報表軟件助力企業智能決策

概述 隨著數據量的激增和企業對決策支持需求的提升,報表軟件已經成為現代企業管理中不可或缺的工具。這些軟件能夠幫助企業高效處理數據、生成報告,并將數據可視化,從而推動更智能的決策過程。 1. 山海鯨報表 概述: 山海鯨報表…

MySQL中replace函數用法

語法:replace(field,search,replace) 說明:field - 數據庫表的列名 search - 需要替換的字符串 replace - 替換成的字符串 語義:將列名:field 中出現的search字符串,全部替換成replace字符串。 例子: …

Wireshark Lua 插件教程

本?主要介紹 Lua 腳本在 Wireshark 中的應?, Lua 腳本可以在 Wireshark 中完成如下功能: 從?絡包中提取數據, 或者統計?些數據包(Dumper) 需要解析?種 Wireshark 不提供原??持的協議(Dissector) ?例 協議解析 VREP 協議是 NOGD 框架對于 TRIP 協議的?種延伸和擴展…

吐血整理:在 Docker 中運行 Milvus

直接用docker 錯誤命令(這個我試了三遍,浪費了很多時間): docker run -d --name milvus -p 19530:19530 -p 9091:9091 -v /var/lib/milvus:/var/lib/milvus milvusdb/milvus:latest 先看報錯: 2025-02-24 16:02:39 …

【uniapp】在UniApp中實現持久化存儲:安卓--生成寫入數據為jsontxt

在移動應用開發中,數據存儲是一個至關重要的環節。對于使用UniApp開發的Android應用來說,緩存(Cache)是一種常見的數據存儲方式,它能夠提高應用的性能和用戶體驗。然而,緩存數據在用戶清除緩存或清除應用數…

【Excel】 Power Query抓取多頁數據導入到Excel

抓取多頁數據想必大多數人都會,只要會點編程技項的人都不會是難事兒。那么,如果只是單純的利用Excel軟件,我還真的沒弄過。昨天,我就因為這個在網上找了好久發好久。 1、在數據-》新建查詢-》從其他源-》自網站 ,如圖 …

星環科技推出DeepSeek全場景解決方案:即開即用、企業級部署、端側智能三位一體

星環科技(688031.SH)正式發布DeepSeek全場景解決方案,全面覆蓋個人用戶、企業客戶及行業場景需求,為用戶提供從個人到企業、從云端到本地的全方位AI應用支持,為不同需求的用戶提供了靈活、高效且安全的AI解決方案。 省…

let、const【ES6】

?“我唯一知道的就是我一無所知。” - 蘇格拉底 目錄 塊級作用域:var、let、const的對比:Object.freeze(): 塊級作用域: 塊級作用域指由 {} 包圍的代碼塊(如 if、for、while、單獨代碼塊等)形成的獨立作用…

C++ 常見面試知識點

主要介紹C常見面試題 1、說一下你理解的C中的四種智能指針 常用接口 T* get(); T& operator*(); T* operator->(); T& operator(const T& val); T* release(); 將 封裝在內部的指針置為nullptr, 但并不會破壞指針所指向的內容, 函 數返回的是內部指針置空之前…

AWS API Gateway灰度驗證實現

在微服務架構中,灰度發布(金絲雀發布)是驗證新版本穩定性的核心手段。通過將小部分流量(如 10%)導向新版本服務,可以在不影響整體系統的情況下快速發現問題。AWS API Gateway 原生支持流量按比例分配功能,無需復雜編碼即可實現灰度驗證。本文將詳細解析其實現方法、最佳…

基于coze+微信小程序實現圖片上傳并利用大模型解析

項目截圖&#xff1a; 實現代碼&#xff08;直接搬去可用&#xff09; 前提&#xff1a;需要填寫你的oss配置coze的api授權配置&#xff01;&#xff01;&#xff01; <template><view class"container"><!-- 高斯模糊背景 --><view class&qu…

Spring-boot3.4最新版整合swagger和Mybatis-plus

好家伙,今天終于開始用spring-boot3開始寫項目了&#xff0c;以后要徹底告別1.x和2.x了&#xff0c;同樣的jdk也來到了最低17的要求了,廢話不多說直接開始 這是官方文檔的要求jdk最低是17 maven最低是3.6 一. 構建工程,這一步就不需要給大家解釋了吧 二. 整合Knife4j 1.大于…

jQuery UI API 文檔

jQuery UI API 文檔 引言 jQuery UI 是一個基于 jQuery 的用戶界面庫,它提供了豐富的交互式組件和效果,使得網頁開發變得更加簡單和高效。本文檔旨在為開發者提供全面的 jQuery UI API 信息,幫助您更好地理解和應用 jQuery UI。 jQuery UI 簡介 什么是 jQuery UI? jQu…

java GUI編程實現一個計算器

概述 閑來無事&#xff0c;利用java awt庫寫個簡單的計算器玩玩。 實現 pom.xml <dependencies><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.26</version></dependency&…

C#裝箱拆箱機制詳解

在C#中&#xff0c;裝箱&#xff08;Boxing&#xff09;和拆箱&#xff08;Unboxing&#xff09; 是值類型與引用類型之間轉換的核心機制。它們的實現直接影響程序的性能和類型安全。 一、裝箱&#xff08;Boxing&#xff09; 定義&#xff1a; 將值類型轉換為引用類型&#…

MySQL 8.4 SQL 全攻略:所有知識點與實戰場景

一、引言 MySQL 作為一款廣泛使用的開源關系型數據庫管理系統&#xff0c;在數據存儲和管理領域占據著重要地位。MySQL 8.4 版本在性能、功能和安全性等方面都有了顯著的提升。本文將全面介紹 MySQL 8.4 中 SQL 的各種知識點&#xff0c;并結合實戰場景進行詳細講解&#xff0…

Qt監控系統遠程回放/錄像文件遠程下載/錄像文件打上水印/批量多線程極速下載

一、前言說明 在做這個功能的時候&#xff0c;著實費了點心思&#xff0c;好在之前做ffmpeg加密解密的時候&#xff0c;已經打通了極速加密保存文件&#xff0c;主要就是之前的類中新增了進度提示信號&#xff0c;比如當前已經處理到哪個position位置&#xff0c;發個信號出來…

超高速工業相機的應用

超高速工業相機一般安裝在機器流水線上代替人眼來做測量和判斷&#xff0c;通過數字圖像攝取目標轉換成圖像信號&#xff0c;傳送給專用的圖像處理系統。圖像處理系統對這些信號進行各種運算來抽取目標的特征&#xff0c;進而根據判別的結果來控制現場的設備動作。一般來說&…

Plugin ‘mysql_native_password‘ is not loaded`

Plugin ‘mysql_native_password’ is not loaded mysql_native_password介紹1. 使用默認的認證插件2. 修改 my.cnf 或 my.ini 配置文件3. 加載插件&#xff08;如果確實沒有加載&#xff09;4. 重新安裝或檢查 MySQL 版本 遇到錯誤 ERROR 1524 (HY000): Plugin mysql_nativ…

蒼穹外賣-阿里云OSS文件上傳

蒼穹外賣-阿里云OSS文件上傳 一、阿里云OSS簡介**獲取AccessKey**獲取enpoint 二、代碼實現1 引入依賴2 定義OSS相關配置2.1 application-dev.yml2.2 application.yml 3 讀取OSS配置3.1 AliOssProperties 4 生成OSS工具類對象4.1 AliOssUtil4.2 OssConfiguration2.5 CommonCont…