文章目錄
- 前言
- 一、實操記錄
- 問下AI:
- jenkins 配置
- 新增一個mobile
- git配置
- Build Triggers
- Build Environment
- Build Steps
- Post-build Actions
- 上面一頓配置下來,構建 -- ` FAILURE`
- 總結
前言
在已有docker-Jenkins-nginx 部署方案上,在另外一臺測試服務器,新增nginx,實現同個端口下構建 pc(history模式,vue3 ,vite項目), mobile (hash模式,vue3 ,vite項目)前端項目。并且支持git push后jenkins自動構建。
一、實操記錄
配置好 docker-compose.yml 文件如下。執行
docker compose up -d
問下AI:
當你執行 docker compose up -d
命令時,Docker Compose 會根據 docker-compose.yml
文件中的定義來啟動并管理一個或多個服務容器。這個過程大致遵循以下步驟:
-
解析
docker-compose.yml
文件:Docker Compose 首先讀取docker-compose.yml
文件,該文件定義了服務、網絡和卷等服務依賴關系。如果有多個服務,并且每個服務對應一個單獨的 Dockerfile,Docker Compose 會分別處理這些服務。 -
構建服務鏡像(如果需要):如果在
docker-compose.yml
中的服務定義里指定了build
屬性,并且指向一個包含 Dockerfile 的目錄,Docker Compose 會根據 Dockerfile 構建或重建服務鏡像。如果存在多個服務且各自有不同的 Dockerfile,Docker Compose 會為每個服務分別執行構建過程。 -
網絡創建:Docker Compose 會檢查
docker-compose.yml
文件中定義的網絡,如果網絡不存在,它會創建這些網絡。服務容器將會被連接到這些網絡中。 -
卷創建:如果有定義數據卷,Docker Compose 會確保這些卷存在,如果需要的話會創建它們。
-
服務啟動:在完成上述準備工作后,Docker Compose 開始啟動定義在
docker-compose.yml
文件中的服務容器。每個服務都會作為一個獨立的容器運行,并按照定義的依賴順序啟動。-d
參數表示以守護進程(后臺)模式運行容器,即啟動后不會直接輸出容器的日志到終端。 -
健康檢查和重啟策略:如果在服務定義中指定了健康檢查(healthcheck)和重啟策略(restart policy),Docker Compose 會根據這些策略來監控和服務容器的狀態,并在必要時采取行動。
-
日志輸出:雖然使用
-d
參數,Docker Compose 通常不會直接輸出容器日志到控制臺,但你可以通過docker logs
命令單獨查看各個服務容器的日志。
總結來說,docker compose up -d
是一個綜合命令,它負責從構建服務鏡像(如果配置了 build
)到最終在后臺啟動并管理整個服務棧的全過程。每個服務根據其Dockerfile來構建,Docker Compose 確保了服務間的協調和依賴關系得以正確處理。
jenkins 配置
修改原有pc端構建配置。這里切換了 ssh server后,相應更改。需要新增一個ssh server,修改完后需要 test configuration 下。
報錯信息
jenkins.plugins.publish_over.BapPublisherException: Failed to connect and initialize SSH
connection. Message: [Failed to connect session for config [test-ngnix]. Message [Auth fail for
methods 'publickey,gssapi-keyex,gssapi-with-mic,password']]
這種情況一般是檢查端口沒有開放,密碼錯誤之類。多嘗試就行。
新增一個mobile
在Jenkins 新增一個mobile 的item,支持copy已有配置功能,修改一下可以快捷配置。
git配置
Build Triggers
上方配置了token 后需要到 github對應的配置如下。
上方 expression是匹配git 分支名 這里是 test 分支。也就是test分支push的才會觸發構建。
Build Environment
Build Steps
Post-build Actions
上方的remote directory www/mobile ,按實際情況調整。
上面一頓配置下來,構建 – FAILURE
ERROR: Couldn’t find any revision to build. Verify the repository and branch configuration for this job.
SSH: Current build result is [FAILURE], not going to run.
原來是忘記構建test分支了。切個test分支后重新構建。ok ~~!
總結
以上就是今天要講的內容,本文僅僅簡單介紹了docker-nginx-jenkins 部署與構建前端項目。
參考:
https://blog.csdn.net/jams0911/article/details/113886593