开发者工具整合台湾秒解云服务器容器部署与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流水线实例

相关文章
  • 台湾VPS提供动态IP,稳定高速!

    在如今的数字时代,虚拟私有服务器(VPS)已成为许多企业和个人的首选。而在选择VPS时,一个重要的因素是IP地址的类型和稳定性。本文将介绍台湾VPS提供的动态IP,以及其稳定高速的特点。 传统的IP地址是静态的,即在每次连接互联网时都会分配相同的IP地址。而动态IP地址则是在每次连接时都会分配一个新的IP地址。动态IP的好处是可以更好地保
    2025年2月6日
  • apex英雄游戏的台湾服务器云空间使用体验

    在当前的网络环境中,选择一个稳定且快速的服务器对游戏体验至关重要。本文将探讨在台湾服务器上体验《apex英雄》的云空间使用情况,并推荐德讯电讯作为理想的服务提供商。通过使用德讯电讯的服务,玩家能够获得更低的延迟、更高的稳定性和更流畅的游戏体验。 台湾服务器的优势 选择在台湾的服务器进行游戏,玩家能够享受到显著的延迟优势。由于地理位置接近,台湾
    2025年11月22日
  • 如何选择台湾云空间服务器

    如何选择台湾云空间服务器 在当今数字化时代,云空间服务器成为许多企业和个人的首选。选择合适的云空间服务器对于数据的安全性、稳定性和性能至关重要。本文将介绍如何选择台湾云空间服务器,并提供一些有用的建议和指导。 在选择台湾云空间服务器之前,你需要明确自己的需求。考虑你的应用程序和网
    2024年12月6日
  • 台湾原生IP服务器云服务器优势分析

    台湾原生IP服务器云服务器优势分析 台湾原生IP服务器是指在台湾本地拥有独立的IP地址的服务器。相比于其他服务器,台湾原生IP服务器具有更快的访问速度和更稳定的网络连接。这是因为拥有本地IP地址可以减少网络延迟,提高网站的访问速度,同时也可以避免一些网络限制和屏蔽。 云服务器是一种基于云计算技术的虚拟服务器,具有弹性伸缩、高可
    2025年6月14日
  • 台湾云服务器排名榜名单2021

    台湾云服务器排名榜名单2021 随着互联网的普及,越来越多的企业和个人开始意识到云服务器的重要性。在台湾,云服务器市场也日益繁荣,各大云服务提供商纷纷推出各种产品来满足不同需求。本文将为您介绍台湾2021年的云服务器排名榜名单,帮助您选择最适合自己的云服务器。 1. 谷歌云 谷歌云作为全球领先的云服务提供商,自然也在台湾市
    2025年5月21日
  • 高性能台湾服务器机箱云空间助力您的业务

    高性能台湾服务器机箱云空间助力您的业务 在当今数字化时代,企业对于服务器机箱的需求越来越高。一个高性能的台湾服务器机箱可以为您的业务提供稳定可靠的运行环境,而云空间则可以为您的业务提供强大的存储和计算能力。本文将介绍高性能台湾服务器机箱和云空间如何助力您的业务。 高性能台湾服务器机箱采用先进的技术和设计,具有出色的散热性能和稳定
    2025年3月26日
  • 全面评测台湾服务器云空间的性价比与稳定性

    引言 在当今互联网时代,选择合适的服务器是确保网站稳定运行和用户体验的重要因素。台湾服务器凭借其独特的地理位置和优质的网络环境,成为了众多企业和个人用户的首选。本文将全面评测台湾服务器云空间的性价比与稳定性,为您推荐最佳、最便宜的服务器方案,帮助您在众多选择中做出明智的决策。 台湾服务器的市场概况 台湾的服务器市场近年来发展迅速,涌现出许多优
    2025年10月13日
  • 台湾原生VPS和高防云主机:选择最佳的云服务提供商

    台湾原生VPS和高防云主机:选择最佳的云服务提供商 VPS(Virtual Private Server)是一种虚拟化技术,将一台物理服务器划分为多个独立的虚拟服务器。每个VPS都有自己的操作系统和资源,并且可以独立运行和管理。高防云主机是一种具有高级网络防护功能的云服务器,可以有效抵御各种网络攻击。 选择台湾原生VPS的主要优
    2025年4月29日
  • 日本台湾云服务器:快速可靠的云主机服务

    日本台湾云服务器:快速可靠的云主机服务 云服务器是一种基于云计算技术的虚拟服务器,它通过互联网提供计算资源和存储空间。云服务器具有快速、可靠、灵活的特点,广泛应用于企业和个人用户的网站、应用程序和数据库等方面。 日本台湾云服务器是一种提供在日本和台湾地区部署的云服务器服务。它具有以下优势: 快速:日本台湾云服务器位于亚洲地区
    2024年12月11日
TG客服-1 TG客服-2 在线客服