很高興看到 Gitea 正式支援 OAuth Provider 了,此功能經歷了四個月終於正式合併進 master 分支,預計會在 1.8 版本釋出,由於此功能已經進 master,這樣我們就可以把原本 Drone 透過帳號密碼登入,改成使用 OAtuh 方式了,增加安全性。但是在使用之前,Drone 需要合併 drone/go-login@3 及 drone/drone@2622。如果您會使用 Go 語言,不妨現在就可以來試試看了,透過 go build 來編譯原始碼。
影片教學
有興趣可以參考線上教學
- Go 語言實戰課程: http://bit.ly/golang-2019
- Drone CI/CD 自動化課程: http://bit.ly/drone-2019
安裝 Gitea
由於 Gitea 還沒轉到 Go module (已經有另外一個 PR 再處理 Vendor),所以請 clone 專案原始碼到 GOPATH
底下
接著切換到專案目錄,編譯出 SQLite 的 Binary
|
|
編譯完成後,直接執行
|
|
打開瀏覽器登入後,進入右上角使用者設定,就可以建立新的 Application。
其中 Redirect URL
請填上 drone 的 URL http://localhost:8080/login
安裝 Drone
在上面有提到需要合併兩個 PR (drone@go-login#3 及 drone@drone#2622) 才能使用此功能,等不及的朋友們就自己先 Fork 來使用吧。先假設已經合併完成。
然後建立 server.sh
將環境變數寫入
啟動 drone 服務,會看到一些 Info 訊息:
|
|
打開瀏覽器輸入 http://localhost:8080
就可以看到跳轉到 OAuth 頁面
心得
現在 Gitea 已經支援 OAuth Provider,未來可以再接更多第三方服務,這樣就可以不用透過帳號密碼登入,避免讓第三方服務存下您的密碼。
See also
- 如何發佈高品質的 Pull Request (簡稱 PR)
- 開源專案 Drone CI/CD 平台真的免費嗎?
- Go 1.15 新增 Module cache 環境變數
- Docker 推出官方 GitHub Actions 套件
- 用五分鐘安裝好 Drone 搭配 GitHub 自動化環境
- 用 Drone 部署靜態檔案到 GitHub Pages
- 使用 Docker 五分鐘安裝好 Gitea (自架 Git Hosting 最佳選擇)
- Drone CI/CD 支援 Auto cancellation 機制
- Ansible 設定 Google Container Registry 搭配 Drone 自動上傳
- 用 Drone 自動化上傳 Docker Image 到 GitHub Docker Registry