[Jenkins] 環境建置 - 整合 Gitea 登入
Jenkins 和 Gitea 的環境都建置好後,會希望登入的使用者能在一個地方控管就好, Gitea 自從 1.8 以後就開始提供 Oauth 的方法給其他系統,今天就針對這個部分來做介紹。
設定 Gitea
進入系統後,開啟 設定 > 應用程式,拉到最下面的 管理 OAuth2 應用程式 區塊。
- 應用程式名稱:
Jenkins - 重新導向 URI:
http://{domain}/securityRealm/finishLogin
輸入以上資訊後按下 建立應用程式。

就會拿到一組 客戶端 ID 及 密鑰 ,這個頁面先不要關閉,等一下要把這兩個資訊貼到 Jenkins 上。
建議使用公用帳號操作,避免使用者被砍掉或停用,導致後續的麻煩
設定 Jenkins
安裝 Plugin
Jenkins 的 OAuth 相關 plugin 蠻多的,但就是沒有直接對應 Gitea 的,可以選擇這套 OpenId Connect Authentication | Jenkins plugin 來作為整合的套件。
進入 Manage Jenkins > Plugin Manager > Available,安裝套件並且重啟。
設定 Oauth
安裝完套件後,進入到 Manage Jenkins > Confiure Global Security,找到 Security Realm 區塊

預設應該會使用 Jenkins’ own user database ,要改成 Login with Openid Connect,並且將前面 Gitea 所產生 客戶端 ID 及 密鑰 填入,Configuration mode 選擇 Automatic confiuration 填入 Gitea 的網址。

設定完成以後,登出系統,並且回到 Jenkins 網站的跟目錄,就會發現被轉到 Gitea 網站做登入授權。

結論
其實跟 DroneCI 很像,可以參考 在本機使用Docker架Gitea和DroneCI 的作法,雖然沒有直接的套件讓我們整合 Gitea,但也是能夠做到相同的事情。