GitHub Action 上傳 GitHub repo 至 GCP Storage

github action google storage

專案夾結構:

步驟一. GCP Storage 設定

  1. 創建 Bucket

首先創建 Bucket,未來的網址 url 會與此命名有直接關係,例如這邊取名為 demo-2021,未來存取資料的 url 會是像這樣: https://storage.googleapis.com/demo-2021/README.md

  1. 設定檢視權限

接下來我們會將此 Bucket 的權限設定為,
所有人都可以檢視,所以記得不要將機密資料放置於此 Bucket 內

  1. 取得憑證金鑰

最後我們會需要上傳或更新檔案至此 Bucket,所以需要申請憑證,待會在 Python 的 code 中會使用到此憑證。
申請憑證:https://console.cloud.google.com/apis/credentials

步驟二. 設定 GitHub Action

我們會在 project 位置中的 .github/workflows/ 新增一個 automatic_update.yml 檔案

這邊設定觸發條件是當 branch main 被 push 時觸發,當然你可以改成 pull 或是其他的 branch,甚至可以是定時任務on.schedule

使用 github 託管的
Virtual environment,想修改 ubuntu-latest 的話可以參考這篇 Specifications for GitHub-hosted runners

首先使用 public action actions/checkout@v2 來 check out repository,讓 workflow 中能使用 $GITHUB_WORKSPACE 變數來存取專案

接下來使用 google-github-actions/upload-cloud-storage@master 來 uploads files/forders 到 GCP Storage 上

步驟三. 設定 GitHub Action Secrets key

到專案資料夾,選擇 setting > Secrets,將剛剛在 GCP 拿到的憑證內容完整貼上去就可以囉!

最後只需要 git push 就可以看到以下畫面囉,然後再去 google cloud storage 確認有沒有上傳的檔案就完成了!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *