开发者工具整合台湾秒解云服务器容器部署与CI/CD流水线实例

2026年6月17日

1.

前言與目標說明

(1) 本文目標:建立一個可在「台湾秒解云服务器」上運行的容器化應用,並用 CI/CD 自動化建置、推送與部署。
(2) 假設條件:你具備雲主機帳號、SSH 存取權、Git 倉庫(例如 GitHub/GitLab)、Docker 基本知識。

2.

準備工作與先決條件

(1) 在秒解雲主控台建立一台 Linux VM(建議 Ubuntu 22.04)並開放 22/80/443、以及應用埠。
(2) 在本地生成 SSH 金鑰:ssh-keygen -t ed25519 -C "you@example.com",並將公鑰加入雲主機 authorized_keys。
(3) 建議準備 Docker Hub 或私有 Registry(Harbor/Artifactory),以及一個 CI 帳號(GitHub Token/GitLab Runner token)。

3.

連線與環境初始化

(1) SSH 連線範例:ssh -i ~/.ssh/id_ed25519 ubuntu@your.server.ip。
(2) 更新系統並安裝 Docker 與 docker-compose: sudo apt update && sudo apt upgrade -y sudo apt install -y ca-certificates curl gnupg lsb-release curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER sudo apt install -y docker-compose-plugin (3) 登出再登入或重啟 ssh 會話以讓 docker 群組生效。

4.

建立範例應用與 Dockerfile

(1) 範例應用:建立一個簡單 Node.js 應用 server.js 與 package.json。
(2) Dockerfile 範例:
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
EXPOSE 3000
CMD ["node","server.js"]
(3) 本地測試:docker build -t yourapp:local . && docker run -p 3000:3000 yourapp:local。

5.

設定 Docker Registry 與憑證管理

(1) 若使用 Docker Hub:docker login -u USERNAME -p TOKEN。
(2) 若使用私有 Registry(例如 Harbor):在雲端或本地安裝,取得憑證或建立 robot 帳號。
(3) CI 要存取 Registry 時,把登入密鑰放在 CI Secret(如 GitHub Secrets)中,命名為 DOCKER_USERNAME/DOCKER_PASSWORD 或 DOCKER_TOKEN。

6.

建立 GitHub Actions CI/CD 範例

(1) 在專案建立 .github/workflows/ci-cd.yml:
name: CI/CD
on: [push]
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Build image
      run: docker build -t ghcr.io/${{ github.repository_owner }}/myapp:${{ github.sha }} .
    - name: Login to registry
      uses: docker/login-action@v2
      with:
        registry: ghcr.io
        username: ${{ secrets.GHCR_USERNAME }}
        password: ${{ secrets.GHCR_TOKEN }}
    - name: Push image
      run: docker push ghcr.io/${{ github.repository_owner }}/myapp:${{ github.sha }}
(2) 這裡可替換為 Docker Hub,或把映像標籤改成最新 (latest) 與 SHA 並同時推送。

7.

部署腳本與遠端自動化(SSH 部署)

(1) 在 repo 建立 deploy.sh:
#!/bin/bash
set -e
IMAGE=$1
ssh -o StrictHostKeyChecking=no ubuntu@your.server.ip << EOF
docker pull $IMAGE
docker stop myapp || true
docker rm myapp || true
docker run -d --name myapp -p 80:3000 $IMAGE
EOF
(2) 在 CI 裡新增步驟使用 SSH Private Key(儲存在 CI secret)呼叫 deploy.sh,或直接在 Actions 使用 appleboy/ssh-action 來執行遠端命令。

8.

使用 docker-compose 或 Kubernetes(選擇)

(1) docker-compose.yml 基本範例:
version: '3.8'
services:
  web:
    image: ghcr.io/owner/myapp:latest
    restart: always
    ports:
      - "80:3000"
    environment:
      - NODE_ENV=production
(2) 若使用 Kubernetes,則撰寫 Deployment/Service YAML,並在 CI 中使用 kubectl apply --kubeconfig /path/to/kubeconfig;可將 kubeconfig 存為 CI secret 並在 runner 中臨時寫入。

9.

監控、日誌與回滾策略

(1) 監控:可用 Prometheus + Grafana 或簡單的健康檢查 endpoint,由 Nginx/Traefik 做反向代理與健康路由。
(2) 日誌:使用 docker logs 或安裝 Filebeat/ELK 將日誌集中化。
(3) 回滾:CI 建置成功後保留舊版映像標籤,部署腳本應支援傳入映像標籤以回滾到先前版本。

10.

安全性與最佳實務建議

(1) 切勿在 repository 中暴露金鑰,所有敏感值放在 CI secret 與雲端憑證管理。
(2) 使用非 root 使用者運行容器、啟用防火牆(ufw)、限制 SSH 只允許金鑰登入。
(3) 定期更新基底映像並掃描映像漏洞(例如使用 Trivy)以降低風險。

11.

問:如何在部署時做到零停機(zero-downtime)?

(1) 答:採用藍綠部署或滾動更新。對於 docker-compose,可以啟用反向代理(如 Traefik/Nginx)並用兩組服務交替替換,再切換路由。
(2) 對於 Kubernetes,使用 Deployment 的 rolling update 策略與 readinessProbe,確保新 Pod 就緒後才移除舊 Pod。

12.

問:如果 CI 無法登入遠端主機該如何排查?

(1) 答:首先確認 CI 中的私鑰是否正確(格式與行尾),檢查雲主機 authorized_keys 是否包含對應公鑰,並檢查安全群組/防火牆是否允許 CI runner IP 的 SSH 連線。
(2) 可在本地模擬 CI 環境使用相同金鑰與帳號嘗試連線,查看 ssh -v 詳細輸出。

13.

問:我想從 docker-compose 換到 Kubernetes,有哪些重點步驟?

(1) 答:主要步驟包括:撰寫 Deployment/Service/Ingress YAML,建立映像 Pull Secret(若是私有 Registry),配置 ConfigMap/Secret,並在 CI 中加入 kubectl 與 kubeconfig 的管理流程。
(2) 測試建議先在本地或小型叢集(如 Kind / k3s)驗證,再移轉到生產叢集,逐步替換流量以降低風險。


来源:开发者工具整合台湾秒解云服务器容器部署与CI/CD流水线实例

相关文章
  • 选择台湾服务器时必须考虑的关键因素

    在现代网络环境中,选择合适的台湾服务器对企业和个人用户至关重要。不同的服务器提供商和套餐会影响网站的加载速度、稳定性以及安全性。本文将深入探讨在选择台湾服务器时需要考虑的几个关键因素,包括带宽、稳定性、技术支持等,以帮助您做出明智的决策。 为什么选择台湾服务器对业务重要? 选择台湾服务器的原因有很多。首先,台湾的地理位置
    2026年1月16日
  • 谷歌云服务器台湾云主机:高性能的选择

    云计算是当今科技领域的一个热门话题。谷歌云服务器作为全球领先的云服务提供商之一,不仅在技术上领先,还提供了多个地理位置的云主机选择。其中,台湾云主机以其高性能和稳定性受到了广大用户的青睐。 谷歌云服务器在台湾地区设有多个数据中心,为用户提供了高性能和低延迟的云主机服务。以下是台湾云主机的主要优势: 高速网络:谷歌云服务器台湾云
    2024年12月17日
  • 用户体验分享 台湾云服务器在哪买后续运维与技术支持评价

    概述:最好、最佳与最便宜的台湾云服务器在哪买 本文围绕“用户体验分享 台湾云服务器在哪买后续运维与技术支持评价”展开,先回答核心问题:如果你追求最好的稳定性和本地化服务,优先考虑资深电信与大型云厂商;若要最佳的性价比,选择合适的套餐与按需弹性计费;若想找到最便宜的入门方案,可以先选择本地小型VPS或促销方案。整体上,选择台湾云服务器时要在成本、
    2026年7月8日
  • 如何购买台湾VPS实现高效搭建与管理

    1. 什么是台湾VPS? 台湾VPS是“虚拟专用服务器”的缩写,它是在物理服务器上通过虚拟化技术创建的多个独立环境。每个VPS都有自己的操作系统、CPU、内存和带宽,用户可以根据自己的需求进行配置和管理。由于位于台湾,台湾VPS通常提供较低的延迟和更快的访问速度,适合面向亚太地区用户的网站和应用。 2. 如何选择合适的台湾VPS供应商?
    2025年8月19日
  • 台湾大宽带VPS:全方位高速稳定的虚拟私有服务器

    台湾大宽带VPS:全方位高速稳定的虚拟私有服务器 台湾大宽带VPS是一种虚拟私有服务器,它提供全方位的高速稳定性。VPS是一种通过虚拟化技术将一台物理服务器划分为多个独立的虚拟服务器的解决方案。台湾大宽带VPS具有独立的操作系统、磁盘空间、CPU和内存资源,可以满足个人和企业在互联网上建立网站、托管应用程序以及进行数据存储和备份
    2025年1月15日
  • 低价台湾VPS物理机优惠大促销

    低价台湾VPS物理机优惠大促销 近年来,随着互联网的发展,越来越多的人开始关注虚拟专用服务器(VPS)。VPS是一种虚拟化技术,可以将一台物理服务器划分成多个独立的虚拟服务器,每个虚拟服务器都具有自己独立的操作系统和资源。台湾作为亚洲的重要互联网中心之一,拥有先进的网络设施和稳定的网络连接,成为很多人首选的VPS托管地点。 为
    2024年12月7日
  • 台湾云服务器优缺点总结

    台湾云服务器优缺点总结 台湾云服务器在亚洲地区拥有良好的网络连接速度,可以提供稳定的服务。同时,台湾地理位置优越,可以较快地响应中国大陆、日本等地区的用户请求。 另外,台湾云服务器提供的价格相对较为合理,性价比较高。用户可以根据自己的需求选择不同的套餐,灵活调整资源配置。 台湾的数据中心设施比较完善,安全性和稳定性较高,能够保障
    2025年6月21日
  • 台湾拨号服务器与云服务器的区别

    台湾拨号服务器与云服务器的区别 在互联网时代,服务器扮演着至关重要的角色,它们是存储和处理数据的核心。在台湾,拨号服务器和云服务器是两种常见的服务器类型。本文将探讨它们之间的区别。 拨号服务器是一种通过电话线连接到互联网的服务器。用户通过拨号方式连接到服务器,可以访问存储在服务器上的数据。拨号服务器通常用于个人用户或小型企
    2025年6月10日
  • 天翼云:台湾服务器提供

    天翼云:台湾服务器提供 天翼云是中国电信旗下的云计算服务提供商,为企业和个人用户提供可靠、安全、高效的云计算解决方案。作为全球领先的云计算服务提供商之一,天翼云不仅在中国大陆拥有广泛的服务器分布,还在世界各地设有分布式数据中心,以便更好地服务全球用户。 天翼云在台湾地区设有多个服务器,为台湾地区的用户提供稳定的云计算服务。台湾
    2025年3月6日