# 用 OCI 免費方案部署你的服務

> 從雲端主機、Docker 到 Cloudflare 與 GitHub Actions，動手建立自己的低成本應用部署環境。

- 課程頁面: https://progrmatic.com/courses/oci-deploy
- 價格: 免費
- 狀態: 即將推出，尚未開賣
- 語言: 繁體中文
- 提供者: Progrmatic

## 課程介紹

## 💡 專案完成了，然後呢？

隨著 AI Coding 工具越來越成熟，我們已經能夠更快速地將想法實作成真正的應用程式。但當專案完成後，下一個問題往往是：**要把它部署在哪裡，才能讓其他人真正使用？**

對於個人開發者、學生或 Side Project 創作者而言，雲端服務的費用可能是一項負擔。即使只是想讓自己的作品公開上線，也需要面對主機、網路、網域與部署流程等問題。

Oracle Cloud Infrastructure（OCI）提供了具有一定免費額度的 Always Free 服務，讓我們有機會利用有限的雲端資源，建立自己的應用部署環境。

這門課將從 OCI 免費層出發，逐步建立雲端主機、部署 Docker 容器化應用，並透過 Cloudflare DNS 與 Tunnel，讓服務能夠從網際網路存取。

除了手動建立雲端資源，我們也會初步接觸 Terraform 與 Infrastructure as Code（IaC），探索如何透過程式碼描述與管理基礎設施。

而當應用需要持續更新時，我們將進一步使用 GitHub Actions，認識 Self-hosted Runner，並建立基本的自動化部署流程，減少每次更新服務時重複操作的步驟。

過程中也會接觸 OCI Object Storage、資料庫服務與相關設定，認識應用在雲端環境中可能需要使用的資源。

**我們不追求一次學會所有雲端架構與維運技術，而是希望透過實際操作，理解一個應用從本機開發到雲端上線，需要經過哪些步驟，以及各項服務如何彼此協作。**

## 🎯 這門課你將學到什麼？

- **OCI 免費層與雲端資源：** 認識 OCI Always Free 的基本服務、免費額度與使用限制，以及 ARM64 環境需要注意的相容性問題。
- **雲端主機與網路設定：** 從 Compute Instance、Linux、SSH 到基本網路與防火牆設定，建立能夠執行應用程式的雲端環境。
- **Terraform 與基礎設施即程式碼：** 初步認識 Infrastructure as Code（IaC），透過 Terraform 了解如何以程式碼描述與建立 OCI 雲端資源，以及相關的基本操作。
- **Docker 容器化部署：** 使用 Docker 與 Docker Compose 在雲端主機上執行應用，認識容器網路、資料儲存與基本設定方式。
- **Cloudflare 與服務公開：** 透過 Cloudflare DNS、Tunnel 與相關設定，讓部署在 OCI 上的服務能夠透過網域對外提供存取。
- **GitHub Actions 自動化部署：** 認識 GitHub-hosted 與 Self-hosted Runner 的差異，實作基本的 CI/CD 工作流程，並了解 Runner 執行環境與部署權限的安全注意事項。
- **雲端資料服務：** 認識 OCI Object Storage 與資料庫服務，了解如何將這些雲端資源整合到自己的應用中。

## 👥 適合對象

- **資訊相關科系學生：** 已經完成自己的程式專案，希望嘗試將作品部署到雲端，讓其他人可以實際使用。
- **個人開發者與 Side Project 創作者：** 希望以有限預算，建立自己的應用部署環境。
- **後端與全端開發者：** 已具備應用程式開發經驗，希望進一步接觸雲端主機、Docker、Terraform 與自動化部署。
- **AI 輔助開發使用者：** 已經能透過 AI 快速完成應用，希望學習如何將成果從本機部署到公開的雲端環境。

## 📌 開始之前

建議具備基本的 Linux 指令操作與 Docker 概念，並準備一個可以用來練習部署的應用程式。

課程將以 OCI Always Free 資源為主要實作環境，但免費額度、服務可用性與資源配置可能隨官方政策及區域供應情況改變。部分操作也可能涉及額外費用，因此仍需要留意實際使用的服務與計費設定。

**從本機到雲端，讓自己的作品不再只停留在開發環境，而是能真正部署上線，成為可以分享與使用的服務。**

## 課程大綱

### 1. 認識 OCI 與免費雲端資源 (即將推出)

### 2. 建立自己的雲端主機 (即將推出)

### 3. 讓應用程式在 OCI 上跑起來 (即將推出)

### 4. 使用 Cloudflare 公開服務 (即將推出)

### 5. 透過 GitHub Actions 自動部署 (即將推出)

### 6. 整合 OCI 雲端儲存服務 (即將推出)
