iT邦幫忙

2025 iThome 鐵人賽

DAY 9
1
佛心分享-SideProject30

AI-Driven Development 實戰篇:30 天 Side Project 開發全紀錄系列 第 9

Day 9 - AI-DLC Sprint 實戰:讓 AI 成為 MenuBar Todo 的 DevOps 好幫手

  • 分享至 

  • xImage
  •  

經過6天的開發,MenuBar Todo 的功能已經完成。今天進入 AI-DLC Sprint 的最後一個關鍵環節 - AI DevOps。這不只是把程式碼部署上線,而是建立一個能自我思考、自我優化的智慧部署體系。

從 MenuBar App 部署的特殊挑戰說起

還記得第一次嘗試發布 Electron App 時的混亂嗎?
「Mac 的簽名憑證過期了...」
「Windows Defender 把我們的 App 標記為病毒...」
「自動更新怎麼又壞了...」
「用戶說下載太慢,我們需要 CDN...」

桌面應用的部署比 Web 應用複雜太多。不只是把檔案上傳那麼簡單,還要處理:

  • 多平台打包(Mac/Windows/Linux)
  • 程式碼簽名和公證
  • 自動更新機制

傳統方式需要大量手動操作和專業知識。但如果 AI 能幫我們處理這一切呢?

AI DevOps 的三層演進

第一層:自動化腳本

這是大部分開發者的現狀:

  • 用 electron-builder 打包
  • GitHub Actions 自動構建
  • 手動上傳到發布平台

問題是:每次都要記住複雜的參數,一個配置錯誤就要重來。

第二層:智慧決策(今天要達到的)

AI 不只執行腳本,還能做決策:

  • 分析程式碼變更,決定發布策略
  • 根據用戶分布,優化 CDN 配置
  • 自動處理平台特定的問題

MenuBar Todo 的智慧部署決策

版本策略的 AI 選擇

不同的更新需要不同的發布策略,AI 幫我分析每次變更:

場景一:修復關鍵 Bug

AI 分析:
- 變更範圍:任務儲存邏輯
- 影響用戶:100%(資料可能遺失)
- 風險等級:高

決策:
✓ 強制更新(不允許跳過)
✓ 分階段推送(1% → 10% → 50% → 100%)
✓ 準備回滾方案

場景二:新增深色主題

AI 分析:
- 變更範圍:純 UI 改動
- 影響用戶:視覺體驗
- 風險等級:低

決策:
✓ 選擇性更新(用戶可選)
✓ 靜默下載,下次啟動生效
✓ 收集使用數據
✓ 準備主題切換教學

場景三:重大架構升級

AI 分析:
- 變更範圍:從 localStorage 改為 SQLite
- 影響用戶:需要資料遷移
- 風險等級:極高

決策:
✓ 雙版本並行(新舊版本共存)
✓ 提供資料備份工具
✓ 逐步遷移用戶
✓ 保留降級通道 30 天

多平台打包的 AI 優化

MenuBar Todo 需要支援三大平台,每個平台都有獨特的挑戰。AI 幫我處理這些複雜性:

Mac 平台的智慧處理

程式碼簽名地獄
傳統方式:查文件 → 設定憑證 → 打包失敗 → Google 錯誤 → 重試...

AI 方式:

我:Mac 打包失敗,錯誤碼 -1

AI:這是憑證問題。我檢查到:
1. 你的憑證將在 7 天後過期
2. notarization 需要 app-specific 密碼
3. entitlements.plist 缺少攝影機權限

我已經:
✓ 生成更新憑證的步驟指南
✓ 創建正確的 entitlements 檔案
✓ 配置自動公證流程
✓ 加入憑證過期提醒

現在重新打包應該可以成功。

Windows 平台的防毒問題

智慧白名單策略
Windows Defender 經常誤判 Electron App。AI 幫我制定了策略:

  1. 預防措施
    • 使用 EV 程式碼簽名憑證
    • 提交到 Microsoft SmartScreen
    • 建立信譽積累計劃
  2. 用戶引導
    • 自動生成安裝指南
    • 提供信任步驟截圖
    • 準備 FAQ 文件
  3. 監控與應對
    • 追蹤誤報率
    • 自動提交申訴
    • 準備替代下載通道

自動更新的智慧管理

更新時機的 AI 判斷

不是所有時候都適合更新,AI 會考慮:

智慧更新時機

AI 更新決策樹:

用戶正在輸入任務?
  ↓ 否
系統資源充足(CPU < 50%)?
  ↓ 是
網路狀況良好?
  ↓ 是
非工作高峰期(9-11, 14-16)?
  ↓ 是
上次更新距今 > 24 小時?
  ↓ 是
  
✓ 開始靜默下載更新

差分更新策略

MenuBar Todo 雖然小,但頻繁全量更新會煩死用戶。AI 幫我實現智慧差分:

版本 1.0.1 → 1.0.2:
- 全量包:15MB
- 差分包:0.8MB(節省 94%)

版本 1.0.2 → 1.1.0:
- 全量包:16MB
- 差分包:3.2MB(節省 80%)

AI 決策:
- 小版本:始終使用差分
- 大版本:根據網速決定
- 跨版本:計算最優路徑

成本優化的 AI 策略

即使是免費的 MenuBar App,也有營運成本。AI 幫我優化每一分錢:

CDN 配置優化

AI 成本分析:

當前 CDN 使用狀況:
- 月下載量:50,000 次
- 月流量:750GB
- 月成本:$45

優化建議:
1. 使用 GitHub Releases(免費)
2. CloudFlare R2 做備份($0.015/GB)
3. 中國用戶導向 Gitee 鏡像

實施後預估:
- 月成本:$8(節省 82%)
- 下載速度:提升 30%
- 可用性:99.9%

錯誤追蹤服務選擇

AI 對比分析:

Sentry:
- 優點:功能完整
- 缺點:5000 事件後收費
- 月成本:$26

Glitchtip(自建):
- 優點:完全免費
- 缺點:需要維護
- 月成本:$5(VPS)

AI 建議:
初期用 Sentry 免費額度
超過 3000 用戶後遷移到 Glitchtip
我已準備好遷移腳本

零配置一鍵部署的實現

AI 驅動的發布流程

只需要一個指令,AI 處理所有細節:

我:發布新版本

AI:開始智慧發布流程...


1. 自動測試
   - 單元測試:48/48 通過
   - E2E 測試:12/12 通過
   - 性能測試:無退化

2. 更新準備
   - 更新 CHANGELOG
   - 生成 Release Notes
   - 準備多語言公告

3. 多平台打包
   - macOS (Intel + Arm64)
   - Windows (x64)

4. 簽名與公證
   - Apple 公完成
   - Windows 簽名完成

5. 發布策略
   - 採用漸進式發布

實戰心得:AI DevOps 的真正價值

不是取代,是解放

AI DevOps 不是要取代 DevOps 工程師,而是解放我們去做更有價值的事:

  • 思考產品方向,而不是調試腳本
  • 優化用戶體驗,而不是處理簽名
  • 分析業務數據,而不是看崩潰日誌

從救火到預防

傳統 DevOps:問題發生 → 緊急修復 → 祈禱不再發生
AI DevOps:模式識別 → 風險預警 → 主動預防 → 持續優化

知識沉澱的加速

每次部署都是學習機會。AI 幫助我們:

  • 記錄每個決策的原因
  • 累積最佳實踐
  • 避免重複踩坑

總結

最好的 DevOps 是讓 DevOps 消失
當部署變得如此簡單可靠,當監控變得如此智慧精準,當問題在發生前就被預防,DevOps 就從瓶頸變成了加速器。

AI DevOps 讓獨立開發者也能擁有大廠級別的部署能力。你不需要運維團隊,只需要 AI 夥伴。


上一篇
Day 8 - AI-DLC Sprint 實戰:與 AI 一起開發 MenuBar Todo
下一篇
Day 10 - MenuBar Todo 完成了!AI-DLC Sprint 七天實戰總結
系列文
AI-Driven Development 實戰篇:30 天 Side Project 開發全紀錄12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言