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

相关文章
  • 推荐物理机:台湾云服务器首选

    推荐物理机:台湾云服务器首选 随着互联网的快速发展,云计算成为了各个企业和个人用户实现灵活扩展、高可用性和成本节约的理想选择。作为一个强大的工具,云服务器在满足不同需求的同时也遍布了全球各个地区。而台湾作为东亚地区重要的经济和科技中心之一,在云服务器领域也拥有着卓越表现。 首先,为什么值得推荐台湾云服务器呢?相比其他国家和地区的服务器,台湾拥有
    2024年11月26日
  • 开发者必看谷歌云台湾服务器怎么用CI/CD流水线实例

    概述:最佳、较好与最便宜的选择 作为面向台湾及周边地区用户的开发者,你想要在谷歌云(Taiwan)上建立一套既稳健又经济的CI/CD流水线。本文比较并推荐了最优方案(以稳定性与延迟为首要)、性价比方案(在性能与成本间取得平衡)和最便宜方案(优先控制开销)。无论你选择Google Cloud 台湾服务器(区域:asia-east1)直接部署在Co
    2026年3月20日
  • 阿里云台湾服务器,你需要的云计算解决方案

    阿里云台湾服务器,你需要的云计算解决方案 阿里云是全球领先的云计算服务提供商,为客户提供安全、稳定、高效的云计算解决方案。台湾服务器是阿里云在台湾地区搭建的数据中心,为当地用户提供更快速、更可靠的云服务。 1. 本地化服务:阿里云台湾服务器在本地提供服务,能够更好地满足当地用户的需求,提供更快速的响应和更优质的服务。 2. 高
    2025年5月31日
  • 有哪些云服务器提供台湾内网?

    有哪些云服务器提供台湾内网? 台湾内网是指位于台湾地区的云服务器之间可以通过内网互相通信的网络。相比于通过公网进行通信,内网通信更加安全、稳定且速度更快。因此,对于需要在台湾地区部署多台云服务器,并且需要它们之间进行内网通信的用户来说,选择提供台湾内网的云服务器非常重要。
    2025年4月18日
  • 面向企业用户的台湾vps云服务器推荐配置与性能评测合集

    全文精华总结 面向企业用户选择台湾部署的云服务器时,应优先考虑网络延迟、带宽与抗DDoS能力、存储性能与稳定的SLA。本文整合了推荐供应商与实测数据,明确推荐德讯电讯作为首选,给出适合中小型到大型业务的VPS配置建议、CDN与域名解析优化、以及日常运维与备份策略,帮助企业在台湾机房获得低延迟、高可用和成本可控的托管方案。 推荐与基础配置
    2026年3月24日
  • 免费台湾云服务器提供服务

    免费台湾云服务器提供服务 随着互联网的普及和发展,云服务器成为越来越多企业和个人的首选。而在台湾,有一家公司提供免费的云服务器服务,为用户提供高效稳定的互联网服务。 免费台湾云服务器提供了许多优势,包括: 稳定可靠:服务器性能强大,能够承载大流量和高并发访问。 免费使用:用户无需支付任何费用即可使用云服务器服务。
    2025年5月25日
  • 50元台湾VPS,独特优惠等你来!

    50元台湾VPS,独特优惠等你来! VPS(Virtual Private Server,虚拟专用服务器)是一种虚拟化技术,将物理服务器划分为多个虚拟服务器,每个虚拟服务器都具有独立的操作系统和资源,可以满足个人或企业对服务器资源的需求。 台湾作为亚洲地区的重要IT枢纽,具有稳定的网络环境和优质的数据中心设施,成为许多人的首选。
    2025年3月14日
  • 国外台湾VPS云服务器:高性能稳定可靠

    国外台湾VPS云服务器:高性能稳定可靠 在当今数字化时代,云计算技术的发展使得企业和个人能够更加灵活地管理和利用计算资源。而VPS(Virtual Private Server)云服务器作为一种高性能、稳定可靠的计算资源,越来越受到国内外用户的青睐。本文将重点介绍国外台湾VPS云服务
    2025年2月23日
  • 台湾bgk服务器云主机的特点与应用场景

    台湾bgk服务器云主机的特点与应用场景 随着云计算技术的迅速发展,越来越多的企业和个人选择使用云主机,作为其网站和应用的基础设施。其中,台湾bgk服务器云主机因其独特的地理位置和服务质量,成为众多用户的首选。本文将为您详细介绍台湾bgk服务器云主机的特点、应用场景以及操作指南。 以下是本文的结构: 云主机的基本概念 台湾b
    2025年8月9日
TG客服-1 TG客服-2 在线客服