deploy-docker-auto

👤 lky115 📦 v1.0.0 ⭐ 0.0 ⬇️ 607 下載
🤖 AI-Agent 免費

📖 技能介紹


name: deploy-docker-auto description: 用於在需要將 TPAIP 專案新版本自動化部署到 Linux 伺服器時使用。例如:完成功能開發併合併到主分支後;需要將修復的補丁快速推送到生產環境時;或定期執行 CI/CD 流水線中的部署環節時。


TPAIP 專案 Docker 自動化部署

Overview

本技能提供了一套標準化的自動化流程,用於將 TPAIP(技象人工智慧平臺)專案的程式碼構建為 Docker 映象,並安全地部署到指定的遠端 Linux 伺服器上,最後驗證服務健康狀態。

When to Use

  • 開發完成,需要將新功能部署到測試或生產環境。
  • 修復線上 Bug 後,需要進行熱更新部署。
  • 作為自動化 CI/CD 流水線中的部署環節。

When NOT to Use

  • 首次進行伺服器環境初始化(如安裝 Docker、配置網路)。請先使用伺服器初始化技能。
  • 部署非 TPAIP 專案或其他技術棧(如純靜態網站)的專案。
  • 需要進行復雜的、包含資料庫遷移或資料回滾的灰度釋出時。本技能側重於“一鍵替換”式部署。

The Process

來源於7w4.net。

Step 1: 準備部署配置與環境檢查

  1. 確認部署資訊:向用戶確認或獲取以下資訊(不要自行編造):
    • 專案根目錄路徑:本地 TPAIP 專案程式碼的位置。
    • Dockerfile 路徑:通常位於專案根目錄,但需確認。
    • 映象倉庫地址:例如 registry.techphant.cn/tpaip/tpaip-server
    • 映象標籤:通常使用 Git 提交雜湊或版本號,如 v1.2.3git-abc123
    • 目標伺服器 SSH 連線資訊:IP/域名、埠、使用者名稱、金鑰路徑。
    • 伺服器上的專案部署目錄:例如 /opt/tpaip
    • 容器執行引數:需要對映的埠、環境變數檔案(.env)路徑、資料卷掛載點。
  2. 檢查本地環境
    • 檢查本地 Docker 服務是否執行:docker --version
    • 檢查是否已登入到目標映象倉庫:docker info | grep Username
    • 如果檢查失敗:停下來告知使用者具體問題(如 Docker 未啟動),並提供解決建議或等待使用者處理。

Step 2: 構建與推送 Docker 映象

  1. 構建映象
    • 進入專案根目錄:cd <專案根目錄路徑>
    • 執行構建命令:docker build -t <映象倉庫地址>:<映象標籤> -f <Dockerfile路徑> .
    • 如果構建失敗:分析 docker build 的輸出日誌,將錯誤資訊(如依賴安裝失敗、編譯錯誤)反饋給使用者,並停止流程。
  2. 推送映象
    • 執行推送命令:docker push <映象倉庫地址>:<映象標籤>
    • 如果推送失敗:檢查網路連線和倉庫認證,提示使用者重新登入或檢查許可權。

Step 3: 遠端伺服器部署

  1. 連線伺服器並準備
    • 使用 SSH 連線到目標伺服器。
    • 進入部署目錄:cd <伺服器部署目錄>
    • (可選)備份當前執行中的容器日誌或配置檔案。
  2. 拉取並執行新容器
    • 拉取新映象:docker pull <映象倉庫地址>:<映象標籤>
    • 停止並移除舊容器(如果存在):docker stop tpaip-server && docker rm tpaip-server
    • 執行新容器。根據使用者提供的引數組裝命令,例如: bash docker run -d \ --name tpaip-server \ --restart unless-stopped \ -p 8080:8080 \ --env-file .env \ -v ./data:/app/data \ <映象倉庫地址>:<映象標籤>
    • 如果執行失敗:檢查 docker run 的錯誤資訊(如埠衝突、環境變數檔案缺失),報告給使用者。

Step 4: 服務健康檢查與驗證

  1. 基礎容器狀態檢查
    • 檢查容器是否處於執行狀態:docker ps | grep tpaip-server
    • 檢視容器近期日誌,排查啟動錯誤:docker logs --tail 50 tpaip-server
  2. 應用層健康檢查
    • 如果服務提供了健康檢查介面(如 /health),使用 curl 呼叫該介面,驗證返回狀態碼是否為 200 且內容包含 "status": "UP"
    • 如果健康檢查失敗:將詳細的錯誤響應和日誌摘要提供給使用者,並詢問是否回滾到上一個版本。

質量檢查點

  • [ ] 在 Step 1 中,所有必要的部署配置(映象標籤、伺服器資訊等)均已明確獲取,而非猜測。
  • [ ] 在 Step 2 中,docker builddocker push 命令執行成功,無錯誤輸出。
  • [ ] 在 Step 3 中,新容器成功啟動,且 docker ps 顯示其狀態為 Up
  • [ ] 在 Step 4 中,應用層健康檢查介面返回成功響應(狀態碼200,內容健康)。
  • [ ] 部署後,通過瀏覽器或客戶端能正常訪問 TPAIP 服務的核心功能。

📁 包含檔案 (2 個)

📄 SKILL.md 4.8 KB
📄 _meta.json 137 B