質量門禁:Verigreen開啓Git的Commit門禁

{"type":"doc","content":[{"type":"heading","attrs":{"align":null,"level":1}},{"type":"blockquote","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Verigreen 是一個輕量級的Git的checkin的門禁,通過Verigreen可以保護代碼分支不受污染。"}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Verigreen看好質量門禁的大門"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在很多情況下,RD提交了他的代碼後就會觸發CI的流程,當CI的後面會跟着CD進程。但是如果在這個過程中最開始提交的代碼就有一些問題,如果CI/CD過程沒有門禁卡點,代碼倉庫的主幹代碼就被污染了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"如果有Verigreen,那麼當RD提交代碼給對應的分支的時候,提交的代碼如果沒有經歷任何驗證是無法成功提交到代碼倉庫中的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/fb/fb7f3fb605c99e1cc4cf0eb15d612437.png","alt":"在這裏插入圖片描述","title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"Verigreen flow"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在我們提交代碼到git倉庫的時候,有很多優秀的模式,例如GitFlow模式等,那麼我們權且把使用Verigreen的模式叫做Verigreen Flow吧。那麼VerigeenFlow模式是如下工作的:"}]},{"type":"image","attrs":{"src":"https://static001.geekbang.org/infoq/da/da00e4066dddf30fb8f8ad00151b938e.png","alt":"在這裏插入圖片描述","title":null,"style":null,"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"bulletedlist","content":[{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"1 RD將改動的代碼push到遠端分支"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"2 代碼變更出發了Verigeen"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"3 Verigeen檢查這次commit的代碼的目標分支是不是被保護分支,如果不是被保護分支,那麼就會正常的將其合併到對應的branch裏面。如果是被保護的分支,那麼Verigeen會將將代碼commit到一個臨時的分支中,然後針對這個臨時分支運行驗證程序。"}]}]},{"type":"listitem","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"4 Verigeen如果驗證失敗,他會將失敗的結果推送給流程發起端,如果驗證成功,那麼合併提交,然後將丟棄(刪除)臨時分支,然後過程結束。 如果不是,則更改被拒絕並保留在臨時分支上,變更發起人會收到對應狀態的email。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"感興趣的通過可以去Github嘗試一下,項目中提供了docker鏡像可以快速啓動驗證功能。https://github.com/Verigreen/demo"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章