jenkins自動化部署前端vue+docker項目

文章目錄

  • 一、準備工作
  • 二、編寫dockerfile文件
  • 三、新建jenkins任務


一、準備工作

默認你的服務器centos已經搭建完成,同時已經安裝了jenkins和docker。
接下來去下載開源項目ruoyi并上傳到自己的gitee中。
在這里插入圖片描述

二、編寫dockerfile文件

打開項目工程,在rouyi-vue-ui下新建docker文件夾,并新建Dockerfile文件、.dockerignore忽略文件、nginx.conf配置文件
在這里插入圖片描述
Dockerfile文件內容如下:

# 拉取nginx基礎鏡像
FROM nginx:1.21.1# 維護者信息
MAINTAINER zhy# 將dist文件中的內容復制到 `/usr/share/nginx/html/` 這個目錄下面
COPY dist/  /usr/share/nginx/html/
# 用本地配置文件來替換nginx鏡像里的默認配置
COPY nginx/nginx.conf /etc/nginx/nginx.conf# 對外暴漏的端口號
# [注:EXPOSE指令只是聲明容器運行時提供的服務端口,給讀者看有哪些端口,在運行時只會開啟程序自身的端口!!]
EXPOSE 80# 啟動nginx容器
CMD ["nginx", "-g", "daemon off;"]

.dockerignore內容如下

node_modules

nginx.conf內容如下

worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;#tcp_nopush     on;#keepalive_timeout  0;keepalive_timeout  65;#gzip  on;server {# nginx 監聽端口listen       80;# 服務器ipserver_name  192.168.17.79;location / {# 前端資源存放路徑root   /usr/share/nginx/html;index  index.html index.htm;try_files $uri $uri/ /index.html;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

提交代碼到gitee倉庫

三、新建jenkins任務

打開jenkins,新建任務
在這里插入圖片描述
填寫描述
在這里插入圖片描述
源碼管理選擇git,粘貼gitee項目地址
在這里插入圖片描述
在這里插入圖片描述
選擇憑證,沒有的話點擊添加即可
在這里插入圖片描述
構建步驟選擇執行shell
在這里插入圖片描述
添加以下內容

# 先進入到前端工程中
cd ry-vue-demo-ui
# 安裝依賴
echo "<-------------------------------------->"
echo "安裝依賴"
npm install
echo "<-------------------------------------->"
echo "打包項目"
npm run build:prod
echo "拷貝文件到docker目錄下"
cp -r dist/ docker/
cd docker
echo "構建鏡像"
docker build -f Dockerfile -t ruoyi-vue . --no-cache
# 刪除執行的容器
docker ps -a | grep ruoyi-vue | awk '{print $1}' | xargs -i docker stop {} | xargs -i docker rm {}
echo "運行容器"
docker run -d -p 81:80 --restart=always --name ruoyi-vue ruoyi-vue

保存,立即構建
在這里插入圖片描述
查看控制臺日志輸出
在這里插入圖片描述
結果報錯了,說nginx.conf文件不存在
在這里插入圖片描述
路徑寫的有問題,這里已經進入到docker目錄下了,直接拷貝nginx.conf
在這里插入圖片描述
修改Dockerfile,提交代碼,接著構建項目,這次就構建成功了
在這里插入圖片描述
打開瀏覽器訪問試試,部署成功
在這里插入圖片描述

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

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

相關文章

opencv中contours的使用

一 Contour FindingContours使用 STL-style vector<> 表示&#xff0c;如 vector<cv::Point>, vector<cv::Point2f>。opencv中&#xff0c;使用函數 cv::findContours() 尋找contours&#xff0c; 具體函數定義如下&#xff1a;void cv::findContours(cv::In…

網絡安全初級

1、docker并配置代理 &#xff08;1&#xff09;在Ubuntu中安裝docker apt-get install docker.io docker-compose &#xff08;2&#xff09;安裝完成后&#xff0c;進入/etc/systemd/system/docker.service.d/http-proxy.conf配置文件下進行代理的配置&#xff0c;配置如圖…

JetBrains IDE 性能優化指南:idea.vmoptions 核心參數解析與配置建議

文章目錄深入解析 JetBrains IDE 的 VM 選項&#xff1a;idea.vmoptions 參數詳解一、內存與垃圾回收配置二、診斷與錯誤處理三、運行時優化參數四、模塊系統與反射控制五、特殊參數說明六、配置建議指南深入解析 JetBrains IDE 的 VM 選項&#xff1a;idea.vmoptions 參數詳解…

Datawhale AI夏令營 《基于帶貨視頻評論的用戶洞察挑戰賽》Part .1.

1. 賽題 參賽者需要構建端到端的評論分析系統&#xff0c;完成三大核心任務&#xff1a; 商品識別 輸入&#xff1a;視頻描述文本(video_desc)和標簽(video_tags)輸出&#xff1a;精準識別推廣商品名稱(Xfaiyx Smart Translator/Recorder) 多維情感分析 維度&#xff1a;情感傾…

【博文匯項目全維度測試報告:功能與自動化雙軌驗證】

&#x1f308;個人主頁: Aileen_0v0 &#x1f525;熱門專欄: 華為鴻蒙系統學習|計算機網絡|數據結構與算法 ?&#x1f4ab;個人格言:“沒有羅馬,那就自己創造羅馬~” 文章目錄 項目背景:項目背景與意義&#xff1a;項目概述已實現的主要功能包括&#xff1a;當前系統存在的不足…

Java陷阱之assert關鍵字詳解

Assert.isTrue()方法用于斷言條件是否為真&#xff0c;如果條件不滿足&#xff08;即為false&#xff09;&#xff0c;則會拋出IllegalArgumentException&#xff0c;并附帶預設的錯誤信息。在示例中&#xff0c;當1.23不小于2.23時&#xff0c;方法拋出了異常&#xff0c;顯示…

mysql 散記:innodb引擎和memory引擎對比 sql語句少用函數 事務與長事務

文章目錄innodb引擎和memory引擎對比對比sql 語句&#xff1a;盡可能不使用函數條件隱式轉換隱式類型轉換隱式字符編碼轉換補充問題事務與長事務ACIDread viewMVCC 一致性視圖當前讀view 虛擬表長事務的影響與排查影響排查方法預防innodb引擎和memory引擎對比 innodb引擎是索引…

APK安裝器(安卓端)一鍵解除VX限制!輕松安裝各種手機應用

VX為了防止惡意軟件通過平臺傳播&#xff0c;保障用戶設備安全&#xff0c;會把通過VX發送的 APK 文件自動改成 “apk.1” 格式&#xff0c;這樣就能減少惡意軟件傳播的風險。我平時推薦安卓軟件的時候&#xff0c;有朋友反饋說&#xff0c;文件發到VX里就變成 “apk.1” 了&am…

Debian:從GNOME切換到Xfce

最近為20年前的T43重新安裝了Debian系統&#xff0c;但使用的gnome桌面太卡了。于是換成輕量級的Xfce系統。 1.安裝Xfce sudo apt update sudo apt install xfce4 xfce4-goodies命令中xfce4 是Xfce桌面環境的核心組件&#xff0c;xfce4-goodies 是一些額外的工具和插件&#xf…

徐州服務器租用:BGP線路的特點有哪些?

BGP的中文全稱為邊界網關協議&#xff0c;是指一種運行在傳輸控制協議上的自治系統路由協議&#xff0c;主要的功能就是可以實時控制路由的傳播&#xff0c;同時能夠幫助用戶選擇更合適的路由線路&#xff0c;保證網絡能夠穩定的運行&#xff0c;不會輕易出現網絡卡頓或故障的狀…

Java使用OSHI獲取服務器信息

OSHI可以獲取系統信息&#xff08;CPU、內存、磁盤、網絡等&#xff09;&#xff0c;純Java實現&#xff08;通過JNA訪問本地API&#xff0c;無需安裝本地庫&#xff09;&#xff0c;跨平臺支持。引入依賴<dependency><groupId>com.github.oshi</groupId><…

企業數字化資產管理安全、成本、協作困局難解?

在數字化浪潮席卷全球的今天&#xff0c;3D技術已成為驅動影視動畫、工業設計、建筑可視化等領域創新的核心動力。然而&#xff0c;隨著3D資產規模呈指數級增長&#xff0c;企業正面臨前所未有的管理挑戰&#xff1a;海量模型存儲混亂、版本迭代難以追溯、團隊協作效率低下、知…

力扣面試150題--組合總和

Day 72 題目描述&#xff08;終于理順回溯了&#xff09;思路 這里還是基于模板來說明代碼思路void backtracking(參數) {if (終止條件) {存放結果;return;}for (選擇 : 本層集合中的元素) {處理節點;backtracking(路徑, 選擇列表); // 遞歸撤銷處理; // 回溯} }對于主要函數的…

多客戶端-服務器(select,poll)

多客戶端-服務器結構總結一、普通CS架構的局限性核心問題&#xff1a;單線程中accept&#xff08;阻塞等待連接&#xff09;與read&#xff08;阻塞讀取數據&#xff09;函數互相干擾&#xff0c;無法同時處理多客戶端。本質原因&#xff1a;阻塞型函數需獨立執行&#xff0c;若…

如何使用postman做接口測試?

&#x1f345; 點擊文末小卡片 &#xff0c;免費獲取軟件測試全套資料&#xff0c;資料在手&#xff0c;漲薪更快 常用的接口測試工具主要有以下幾種&#xff1a;Postman: 簡單方便的接口調試工具&#xff0c;便于分享和協作。具有接口調試&#xff0c;接口集管理&#xff0c…

新型網絡架構設計助力智慧醫療降本增效

隨著智慧醫療的快速發展,越來越多的醫院開始布局“互聯網+醫療”服務,通過數字化手段提升醫療服務效率。然而,如何構建一個既穩定可靠又具備靈活擴展能力的醫療網絡,成為醫院數字化轉型中的關鍵問題。本文以某智慧醫療項目為例,探討傳統網絡與SD-WAN結合的最佳實踐。 背景…

一文讀懂現代卷積神經網絡—使用塊的網絡(VGG)

目錄 什么是使用塊的網絡&#xff08;VGG&#xff09;&#xff1f; 一、VGG 的核心思想&#xff1a;用塊&#xff08;Block&#xff09;構建網絡 二、VGG 的網絡結構 三、VGG 的優勢 1. 結構簡潔統一 2. 強大的特征表達能力 3. 小卷積核的計算效率 4. 良好的遷移學習性…

Linux的相關學習

linux 1.文件權限怎么修改 chmod [權限模式] [文件或目錄]1、**數字模式&#xff08;八進制&#xff09;**&#xff1a; chmod 755 myfile.sh # 所有者&#xff1a;rwx (7)&#xff0c;組&#xff1a;r-x (5)&#xff0c;其他用戶&#xff1a;r-x (5) 7 rwx&#xff08;讀寫…

Kotlin集合接口

Kotlin 集合概述 Kotlin 集合提供了對數據進行各種操作的便捷方式。它們實現了接口&#xff0c;因此可以操作不同類型的數據。例如&#xff0c;你可以編寫一個函數&#xff0c;同時打印 Set 和 List 的所有元素。我們來看看這是如何實現的。Iterable 接口 我們已經知道&#xf…

Git 常用操作與注意事項全攻略

1. 基本配置 git config --global user.name "你的名字" git config --global user.email "你的郵箱" git config --list # 查看當前配置建議全局配置用戶名和郵箱&#xff0c;否則提交記錄可能不規范2.倉庫操作 初始化本地倉庫 git init只在新建項目時使…