drone-git-push 踩雷心得
Drone CI 是一個可以自行的 CI (Continuous Integration) 軟體
使用 CI 的用意就是為了,能在寫完程式時,自動測試、編譯與發佈程式。
關於怎麼架設改天再寫一篇教學。 Google一下應該就很多教學了
drone-git-push
回來本篇主題
這次我的需求是在 Drone 的流程內,測試或編譯完程式後以 git 推送到不同的儲藏庫
其實就是要產生網站檔案後,推送到 GitHub 方便用 GitHub Page 或是 Cloudflare Page
在 Drone CI 中可以用 drone-git-push 做到
這次遇到的問題有2個 害我為了找問題多花很多時間
儲存庫辨識失敗
錯誤訊息:
|
照原本文件寫的 .drone.yml
大概是長這樣
|
參考GitHub討論區的解決方法
- 使用緊急修補的 image
- remote 改用字串
|
SSH Key 讀取失敗
由於資安的關係, SSH KEY 不可以跟著程式碼推送到儲存庫,更不可能放明碼在設定檔中
在 Drone CI 要改用 secret 的功能
.drone.yml
大概長這樣
|
另外在 Drone CI 的 WebUI 上添加 Secret
將 private key 的內文貼進去
然後就碰到問題了
錯誤訊息:
|
參考GitHub討論區的解決方法
- 產生的 SSH key 需要改用 PEM
|
換完 KEY 甚麼問題都沒了🎉