deploy

Solid

引導在沒有 CI/CD 平台(GitHub Actions/GitLab CI)的情況下完成可靠部署。 Use when: 部署到 VPS、離線隔離的伺服器,或任何沒有 CI/CD 基礎設施的環境。 Not for: 建立在 GitHub Actions 或 GitLab CI 上的管線——請用 /ci-cd;版本號遞增與發布晉級——請用 /release。 Keywords: deployment, no-cicd, shell script, blue-green, smoke test, rollback, 無 CI/CD, 部署, 藍綠部署, 回滾.

Code & Development 71 stars 13 forks Updated today NOASSERTION

Install

View on GitHub

Quality Score: 81/100

Stars 20%
62
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# 無 CI/CD 部署助手 > **語言**: [English](../../../../skills/deploy-assistant/SKILL.md) | 繁體中文 引導無 CI/CD 平台環境下的可靠部署,採用三層架構:防錯、驗證、快速回復。 ## 三層部署架構 ``` Layer 1:防止錯誤部署 Layer 2:驗證正確性 Layer 3:快速回復 set -euo pipefail Smoke Test + /health Blue-Green 切換 版本 tag 強制 版本號比對 rollback.sh < 30s deploy.lock 並發守衛 驗證失敗自動回滾 ``` ## 引導式問答 | 問題 | 選項 | 影響 | |------|------|------| | 專案類型 | node / python / go / docker | 建置指令 | | 部署目標 | SSH+rsync / Docker Compose | 傳輸方式 | | Blue-Green 支援 | yes / no | rollback.sh 是否生成 | | 健康檢查 URL | URL 輸入 | verify.sh 目標 | | 版本來源 | VERSION 檔 / package.json / git tag | 版本比對邏輯 | ## 生成的腳本組 ### deploy.sh — 主要部署腳本 ```bash #!/usr/bin/env bash set -euo pipefail LOCK_FILE="/tmp/deploy.lock" trap "rm -f $LOCK_FILE" EXIT # 防並發守衛 if [ -f "$LOCK_FILE" ]; then echo "❌ 已有部署進行中(PID: $(cat $LOCK_FILE))" exit 1 fi echo $$ > "$LOCK_FILE" # 版本 tag 強制 CURRENT_TAG=$(git describe --exact-match --tags HEAD 2>/dev/null || echo "") if [ -z "$CURRENT_TAG" ]; then echo "❌ HEAD 沒有版本 tag。請執行:git tag vX.Y.Z && git push --tags" exit 1 fi echo "[1/4] 執行測試..." # {TEST_COMMAND} echo "[2/4] 建置產物..." # {BUILD_COMMAND} echo "[3/4] 同步至伺服器..." rsync -avz --delete ./dist/ {USER}@{SERVER}:/app/ echo "[4/4] 驗證部署..." ./verify.sh || { echo "驗證失敗,啟動回滾..."; ./rollback.sh; exit 1; } echo "{\"timestamp\":\"$(date -u +%Y-%m-%dT%H:%M:%SZ)\",\"version\":\"$CURRENT_TAG\",\"operator\":\"$(whoami)\",\"re...

Details

Author
AsiaOstrich
Repository
AsiaOstrich/universal-dev-standards
Created
8 months ago
Last Updated
today
Language
JavaScript
License
NOASSERTION

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category