最近正打算使用 GitHub Actions 來串接 AWS 服務 (ECR + ECS),上網找了一堆 ECR 套件,發現就連 AWS 官方都只有實作 Login 進 ECR,後面編譯跟上傳動作就需要自己寫,可以看看底下是 AWS 官方套件的範例:
 |  | 
覺得蠻神奇的是為什麼不把 Plugin 寫更完整些,讓使用者不用再執行 docker 指令,所以我直接把 Drone 官方套件直接改寫支援 GitHub Actions 服務,詳細的操作文件可以參考這邊
教學影片
如果對於課程內容有興趣,可以參考底下課程。
- Go 語言基礎實戰 (開發, 測試及部署)
 - 一天學會 DevOps 自動化測試及部署
 - DOCKER 容器開發部署實戰 (課程剛啟動,限時特價 $900 TWD)
 
如果需要搭配購買請直接透過 FB 聯絡我,直接匯款(價格再減 100)
使用方式
本篇會使用兩種 CI/CD 工具,分別是 Drone 及 GitHub Actions,詳細檔案內容可以參考這邊。底下是使用 Drone CI/CD:
 |  | 
底下是使用 GitHub Actions
 |  | 
兩種使用方式都是一樣的,會用 Drone CI/CD,那使用 GitHub Actions 也不會有問題,另外還支援了 cache_from,省下了一點部署的時間,時間取決於跑的專案 Image 大小了。
See also
- Go 1.16 推出 Embedding Files
 - 用 Docker 每天自動化備份 MySQL, Postgres 或 MongoDB 並上傳到 AWS S3
 - 用 GitHub Actions, Drone CI 或 GitLab CI 部署 AWS Lambda
 - 如何將前端網站打包成 Docker Image
 - 使用 Docker BuildKit 加速編譯 Image
 - Docker 推出官方 GitHub Actions 套件
 - Go Modules 處理 Private GIT Repository 流程
 - 用五分鐘安裝好 Drone 搭配 GitHub 自動化環境
 - 使用 Docker 五分鐘安裝好 Gitea (自架 Git Hosting 最佳選擇)
 - [Go 教學] graceful shutdown 搭配 docker-compose 實現 rolling update