第三方登入系列文章的第五篇「在 ASP.NET Core 整合 GitHub 做第三方登入」,GitHub 是全世界最大的程式原始碼管理平台,每個開發者應該都要有一個 GitHub 帳號,如果我們的網站的服務對象是開發者,應該要有一個 GitHub 第三方登入給使用者使用,整個整合的過程,就記錄在這篇文章當中。
[料理佳餚] 在 ASP.NET Core 整合 GitHub 做為網站的第三方登入
- 477
- 0
- ASP.NET Core
- 2022-12-03
第三方登入系列文章的第五篇「在 ASP.NET Core 整合 GitHub 做第三方登入」,GitHub 是全世界最大的程式原始碼管理平台,每個開發者應該都要有一個 GitHub 帳號,如果我們的網站的服務對象是開發者,應該要有一個 GitHub 第三方登入給使用者使用,整個整合的過程,就記錄在這篇文章當中。
在使用 Git 做版本控制的過程當中,無論是個人開發,還是團隊開發,偶爾會面臨到我們另外開分支所開發的實驗性功能或除錯結果,需要合併回主線的時候,有很大的可能我們只會需要合併其中幾個檔案而已,git merge --squash xxx
可以協助我們完成這件事,不過我一直都是使用 TortoiseGit,我們就來看看 TortoiseGit 怎麼做 Squash Merge?
幾天前同事回報,他 merge 完 push 之後 Jenkins 為何沒有建置? 我目前所在的公司所有原始碼是湊在一起的,但是每一個建置作業又只需要建置某一個專案及其相依的專案,所以除了使用 Sparse Checkout paths 之外還搭配 Polling ignores commits in certain paths 來讓建置作業能夠控制在需要建置時建置,所以這問題肯定出在這兩個地方。
有一些專案的建置作業中,某些步驟是需要對 Git Repository 做操作的,比如說在一切測試都通過之後,發行一個可執行的版本並 commit,然後 push 到待上線的 Git Repository,這時候賦予給 CI 的 Git 帳號就至少要有 Write 的權限,並且執行需要授權的操作時,自動帶上認證。
當我們的 Git Repository 只有一包的時候,而我們又想要讓 Jenkins 只 Pull 某個資料夾底下的檔案時,Sparse Checkout paths
這個 Git Plugin 的附加行為可以幫我們辦到這件事。
有時候我們不需要每次 commit 都執行 CI 的建置作業,例如:更換網站的 Logo、更新靜態頁面的 Wording,這次要介紹兩種方式,都是可以用來指定在特定條件之下才 trigger 建置作業的方式,一種是根據特定的 committed message,另一種是根據特定的 changed path。
在這個時代身為一個碼農,有個幾處碼田是挺正常的,我本身有兩個 GitHub 帳號,一個是公司用的,一個自己私人用的,而 Git Client 是用 TortoiseGit,不同的遠端儲存庫使用不同帳號去認證,而當我們選擇使用 SSH 針對不同帳號,產生不同金鑰去存取遠端儲存庫的時候,就會看到這樣子的訊息。
Git 愈來愈火紅了,在上完保哥的課之後,覺得來試試看,在比較過幾套 Git Server 的優缺點之後,最後決定用 SCM-Manager。