如何遷移jenkins至另一臺服務器

前言

公司舊的服務器快到期了,需要將部署在其上的jenkins整體遷移到另一臺服務器,兩臺都是aws ec2服務器。

文章主要提供給大家一種遷移思路,并不一定是最優解,僅供參考,大家根據實際情況自行選用和修改,舉一反三。

部署文件

我的jenkins是采用docker compose方式部署的,docker-compose.yaml內容如下

networks:
jenkins:
name: jenkins
driver: bridge

services:
jenkins:
image: jenkins/jenkins:2.504.3
user: root
container_name: jenkins
privileged: true
restart: always
networks:
- jenkins
ports:
- "8080:8080"
- "50000:50000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /home/ec2-user/jenkins_compose/jenkins_configuration:/var/jenkins_home
environment:
- PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
- LANG=C.UTF-8
- JENKINS_HOME=/var/jenkins_home
- JENKINS_SLAVE_AGENT_PORT=50000
- REF=/usr/share/jenkins/ref
- JENKINS_UC=https://updates.jenkins.io
- JENKINS_UC_EXPERIMENTAL=https://updates.jenkins.io/experimental
- JENKINS_INCREMENTALS_REPO_MIRROR=https://repo.jenkins-ci.org/incrementals
- COPY_REFERENCE_FILE_LOG=/var/jenkins_home/copy_reference_file.log
- JAVA_HOME=/opt/java/openjdk
command: ["/usr/bin/tini", "--", "/usr/local/bin/jenkins.sh"]

遷移思想

  1. 停止jenkin容器,以保證數據無更新
  2. 將容器掛載的卷打包成tar包,傳到oss,比如aws s3或者其他的云服務,根據自己采用的云服務廠商來選擇
  3. 在另一臺服務器上拉取tar包,解壓縮后
  4. 使用docker compose啟動新容器

具體命令

具體細節,比如文件目錄,需更具自己實際情況做修改

# 在舊的服務器上# 在舊服務器上停止 GitLab 容器(防止數據變更)
docker-compose down# 打包Jenkins數據目錄?(保留權限和軟鏈接)
tar -czvf jenkins_backup.tar.gz -C /home/ec2-user/jenkins_compose/jenkins_configuration .# 上傳到S3?(需提前配置AWS CLI權限)
aws s3 cp jenkins_backup.tar.gz s3://your-bucket-name/jenkins_backup.tar.gz#在新的服務器上#從S3下載備份
aws s3 cp s3://your-bucket-name/jenkins_backup.tar.gz .# 為了方便,目錄結構可以和之前一樣
mkdir -p /home/ec2-user/jenkins_compose/jenkins_configuration# 解壓
tar -xzvf jenkins_backup.tar.gz -C /home/ec2-user/jenkins_compose/jenkins_configuration# 啟動容器
docker compose up -d

安裝完成之后的操作

更改jenkins url

安裝好之后,通過瀏覽器進入新jenkins web ui,更改jenkins url為新的服務器地址

?

刪除workspace下面的倉庫

?因為在新的服務器上構建老倉庫,可能會報git拉取問題,如圖

進入容器的/var/jenkins_home/workspace目錄,因為我的容器卷掛載的是?/home/ec2-user/jenkins_compose/jenkins_configuration:var/jenkins_home/workspace,所以我直接在宿主機上進入對應目錄,刪除下面的所有倉庫(無需擔心,因為數據是存在git倉庫的,如gitlab或者github什么的,所以刪去之后,再構建,jenkins會重新去遠程倉庫拉取新代碼

在workspace目錄下執行下面的刪除操作!!!?

在workspace目錄下執行下面的刪除操作 !!!

在workspace目錄下執行下面的刪除操作!!!?

# 刪除當前目錄下所有內容(含隱藏文件/目錄)
sudo find . -mindepth 1 -delete 2>/dev/null

再次執行構建操作,構建成功

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

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

相關文章

在vue中遇到Uncaught TypeError: Assignment to constant variable(常亮無法修改)

1.問題如下:2.出現這個問題的原因----在設計變量的時候采用了const來進行修飾,在修改的時候直接對其進行修改3.利用響應式變量的特點,修改為下面這樣就可以正常了

RCE隨筆-奇技淫巧(2)

Linux命令長度限制在7個字符的情況下&#xff0c;如何拿到shell <?php $param $_REQUEST[param]; If ( strlen($param) < 8 ) { echo shell_exec($param); }分析代碼&#xff1a;這段代碼傳入參數param然后進入if語句判斷是否小于8個字符&#xff0c;然后如果小于就會進…

設計模式九:構建器模式 (Builder Pattern)

動機(Motivation)1、在軟件系統中&#xff0c;有時候面臨著“一個復雜對象”的創建工作&#xff0c;其通常由各個部分的子對象用一定的算法構成&#xff1b;由于需求的變化&#xff0c;這個復雜對象的各個部分經常面臨著劇烈的變化&#xff0c;但是將它們組合在一起的算法卻相對…

如何高效合并音視頻文件

在自我學習或者進行視頻剪輯的時候&#xff0c;經常從資源網址下載音視頻分離的文件&#xff0c;例如audio_file1.m4a和video_1.mp4&#xff0c;之后需要把這兩個文件合并在一起。于是條件反射得想要利用剪映等第三方工具&#xff0c;進行音視頻的封裝。可惜不幸的是&#xff0…

虛幻 5 與 3D 軟件的協作:實時渲染,所見所得

《曼達洛人》的星際飛船在片場實時掠過虛擬荒漠&#xff0c;游戲開發者拖動滑塊就能即時看到角色皮膚的通透變化&#xff0c;實時渲染技術正以 “所見即所得” 的核心優勢&#xff0c;重塑著 3D 創作的整個邏輯。虛幻引擎 5&#xff08;UE5&#xff09;憑借 Lumen 全局光照和 N…

?Eyeriss 架構中的訪存行為解析(騰訊元寶)

?Eyeriss 架構中的訪存行為解析?Eyeriss 是 MIT 提出的面向卷積神經網絡&#xff08;CNN&#xff09;的能效型 NPU&#xff08;神經網絡處理器&#xff09;架構&#xff0c;其核心創新在于通過硬件結構優化訪存行為&#xff0c;以解決傳統 GPU 在處理 CNN 時因數據搬運導致的…

數字圖像處理(三:圖像如果當作矩陣,那加減乘除處理了矩陣,那圖像咋變):從LED冬奧會、奧運會及春晚等等大屏,到手機小屏,快來挖一挖里面都有什么

數字圖像處理&#xff08;三&#xff09;一、&#xff08;準備工作&#xff1a;咋玩&#xff0c;用什么玩具&#xff09;圖像以矩陣形式存儲&#xff0c;那矩陣一變、圖像立刻跟著變&#xff1f;1. Python Jupyter Notebook/Lab 庫 (NumPy, OpenCV, Matplotlib, scikit-image…

docker-desktop啟動失敗

報錯提示deploying WSL2 distributions ensuring main distro is deployed: checking if main distro is up to date: checking main distro bootstrap version: getting main distro bootstrap version: open \\wsl$\docker-desktop\etc\wsl_bootstrap_version: The network n…

基于FastMCP創建MCP服務器的小白級教程

以下是基于windows 11操作系統環境的開發步驟。 1、python環境搭建 訪問官網&#xff1a;https://www.python.org/。下載相應的版本&#xff08;如&#xff1a;3.13.5&#xff09;&#xff0c;然后安裝。 安裝完成之后&#xff0c;使用命令行工具輸入python&#xff0c;顯示…

網絡協議與層次對應表

網絡協議與層次對應表&#xff08;OSI & TCP/IP模型&#xff09;OSI七層模型TCP/IP四層模型協議/技術核心功能與應用?應用層?應用層HTTP/HTTPS網頁傳輸協議&#xff08;HTTP&#xff09;及其加密版&#xff08;HTTPS&#xff09;FTP文件上傳/下載協議SMTP/POP3/IMAPSMTP發…

android studio(NewsApiDemo)100%kotlin

api接口地址&#xff1a;https://newsapi.org/docs/get-started 項目成品地址&#xff1a;https://github.com/RushHan824/NewsApiDemo 項目效果展示&#xff1a; MVVM數據流 UML圖 本系列文章將帶你從零實現一個新聞列表App&#xff0c;適合零基礎讀者。一步步來&#xff0c…

面試高頻題 力扣 417. 太平洋大西洋水流問題 洪水灌溉(FloodFill) 深度優先遍歷(dfs) 暴力搜索 C++解題思路 每日一題

目錄零、題目描述&#xff1a;用人話再講一遍一、為什么這道題值得咱們學習&#xff1f;二、思路探索常規思路&#xff1a;逐個檢查每個格子&#xff08;會超時&#xff01;??&#xff09;三、正難則反&#xff1a;反向思維的巧妙應用 &#x1f504;&#xff08;思考時間&…

博物館智慧導覽系統AR交互與自動感應技術:從虛實融合到智能講解的技術實踐

本文面向博物館信息化開發者、智慧場館系統技術建設師及AR 設計工程師,從AR 交互與自動感應技術的邏輯出發,拆解AR虛實融合技術與智能講解自動感應技術的原理&#xff0c;為相關開發者實踐提供可復用的技術路徑。如需獲取博物館智慧導覽系統解決方案請前往文章最下方獲取&#…

高效編程革命:DeepSeek V3多語言支持與性能優化實戰

文章目錄 如何利用DeepSeek V3編寫高效程序代碼:從原理到實踐 引言 一、DeepSeek V3核心能力解析 1.1 模型架構與優勢 1.2 與傳統編程輔助工具對比 二、高效代碼編寫實踐指南 2.1 精準提示工程(Prompt Engineering) 基礎提示模板 高級提示技巧 2.2 生產級代碼生成案例 示例:…

OkHttp 與 JSON 解析庫完美結合:Moshi/Jackson/Gson 實戰指南

前言在現代 Android 開發中&#xff0c;網絡請求與 JSON 數據處理是密不可分的。OkHttp 作為強大的 HTTP 客戶端&#xff0c;與 JSON 解析庫&#xff08;Moshi/Jackson/Gson&#xff09;的結合使用&#xff0c;可以極大簡化網絡請求與數據解析的流程。本文將詳細介紹如何將 OkH…

An error occurred at line: 1 in the generated java file問題處理及tomcat指定對應的jdk運行

一、背景 tomcat7啟動后&#xff0c;加載jsp頁面報錯&#xff0c;提示無法將jsp編譯為class文件&#xff0c;主要報錯信息如下&#xff1a; An error occurred at line: 1 in the generated java file 最后確認該錯誤原因為&#xff1a;tomcat7不支持jdk1.8版本 機器上已配…

深入剖析大模型在文本生成式 AI 產品架構中的核心地位

一、大模型的崛起與概念解析 在人工智能技術飛速迭代的當下&#xff0c;大模型已成為驅動行業發展的核心引擎。從技術定義來看&#xff0c;大模型&#xff08;Large Model&#xff09; 是指基于深度學習架構、具備海量參數規模&#xff08;通常數十億至數萬億級別&#xff09;&…

Vue Scoped樣式:當動態元素成為“無家可歸“的孤兒

引言&#xff1a;一場CSS的"身份危機"想象一下&#xff1a;你精心設計了一個Vue組件&#xff0c;為每個元素添加了漂亮的樣式。你滿意地添加了scoped屬性&#xff0c;確保樣式不會"越獄"影響其他組件。然后你動態添加了一些新元素&#xff0c;卻發現它們完…

vmware分配了ubuntu空間但是ubuntu沒有獲取

一開始我看vmware中的ubuntu磁盤空間只有200g不夠用&#xff0c;我在vmware給Ubuntu分了300G的磁盤空間&#xff0c;但是ubuntu還是只有之前的200g 如圖在ubuntu查看后來發現&#xff0c;在磁盤軟件里面需要自己分配磁盤空間大小拓展后就可以了

[MarkdownGithub] 使用塊引用高亮顯示“注意“和“警告“和其他注意方式的選項

參考來源: https://github.com/orgs/community/discussions/16925 Alerts are an extension of Markdown used to emphasize critical information. On GitHub, they are displayed with distinctive colors and icons to indicate the importance of the content. 提示框是 Ma…