本篇文章是一個入門文章,主要探討 GitOps 相關的起源與概念,同時介紹不少關於 GitOps 的工具
起源: Weaveworks 於 2017 年針對 Kubernetes 的工作環境產生了不同的部署方式,而 GitOps 這個詞也就那時開始萌芽發展
概念: 透過 Git PR 的方式來驗證與自動的部署所有與系統有關的修改。今天有任何部署的需求時,團隊要做的事情就是 1) 產生 Git PR 2)進行 Review 3) 合併 接者就是等任何修改被自動部署
Git 於整個環節中扮演者 Single Source of Truth 的角色,所有的修改都必須發生於 Git 本身,也因為是基於 Git 來使用,所以不論是 GitHub, Gitlab, Bitbucket, Gerrit 等系統都可以使用。
註: Bitbucket 還針對 GitOps 這種形式取了一個名為 BDDA 的名稱,意義為 Build-Diff-Deploy-Apply
好處:
1. 稽核性: 透過 Git 可以針對所有的修改去查閱,知道誰於什麼時間點進行什麼修改
2. 由於不需要將 Kubeconfig 等資源放到外部叢集,資安方面會比傳統外部直接Push/Apply 來得更好
3. 開發人員可以更容易地去部署應用,不需要仰賴Ops幫忙
4. ...etc
註: GitOps 並不是只能適用於 Kubernetes 本身,事實上整個系統架構都可以套用這種方式,譬如搭配 Terraform 等相關的 IaC 工具時,就可以透過 GitOps 來搭建整個系統,包含底層架構,k8s叢集以及最重要的應用程式
相關工具(文章列出滿多工具):
1. ArgoCD
2. Atlantis: Terraform PR 的自動化工具
3. Autoapply
4. CloudBees Rollout
5. FlexCD
6. Helm Operator
7. Flagger
8. Ignite
9. Faros
10. Gitkube
11. Jenkins X
12. KubeStack
13. Weave Cloud
14. Werf
15. PipeCD
https://medium.com/searce/gitops-the-next-big-thing-for-devops-and-automation-2a9597e51559
「gerrit push」的推薦目錄:
- 關於gerrit push 在 矽谷牛的耕田筆記 Facebook 的最讚貼文
- 關於gerrit push 在 軟體開發學習資訊分享 Facebook 的最佳貼文
- 關於gerrit push 在 Why is git push gerrit HEAD:refs/for/master used instead of git ... 的評價
- 關於gerrit push 在 【Gerrit】Gerrit工作流程及使用手册 的評價
- 關於gerrit push 在 【狀況題】聽說git push -f 這個指令很可怕,什麼情況可以用它 ... 的評價
- 關於gerrit push 在 git-gerrit/git-gerrit-push at master · genome/git-gerrit - GitHub 的評價
- 關於gerrit push 在 Magit + gerrit - push to other branch - Emacs Stack Exchange 的評價
- 關於gerrit push 在 建立AOSP local mirror系列EP.2 | Meng's 工程師經驗談[中文] 的評價
gerrit push 在 軟體開發學習資訊分享 Facebook 的最佳貼文
Android的patch審核流程圖, Android使用一種工具 "gerrit" 這個工具是一個web application供Android的開發團隊來做code/patch review, 所以當外部開發者使用git push時, 其實這個change set並沒有真正的push到master repository,而是經過審核者和測試通過後, 這個change set才會真正的merge到master repository, 審核者可以reject這個change set並寫comment
gerrit push 在 【Gerrit】Gerrit工作流程及使用手册 的推薦與評價
使用过git的同学,都知道,当我们 git add --> git commit --> git push 之后,你的代码会被直接提交到repo,也就是代码仓库中,就是图中橘红色箭头 ... ... <看更多>
gerrit push 在 【狀況題】聽說git push -f 這個指令很可怕,什麼情況可以用它 ... 的推薦與評價
git push -f 這個指令真的令人又愛又恨。 ... 這時候就可使用Force Push 來解決這個問題,但請使用前知會一下跟你同一個專案的隊友,請他們到時候以你這份進度為主。 ... <看更多>
gerrit push 在 Why is git push gerrit HEAD:refs/for/master used instead of git ... 的推薦與評價
... <看更多>
相關內容