---
# System prepended metadata

title: AWS CodeCommit
tags: [AWS]

---

---
title: AWS CodeCommit
---
###### tags: `AWS`

# AWS CodeCommit

### 簡單玩了一下這項服務，記錄一下心得。

##### 優點：
1. Git的功能齊全
2. 結合AWS服務達成更強大且實用的功能 - AWS CodeGuru可以自動掃描程式碼，針對指定的專案提供程式碼構成建議，且這種建議會隨著AWS的發展不斷提供更優化、更效能的寫法建議。 (順帶一提，個人覺得CodeGuru這命名很好，程式碼的精神導師)
3. 可以設定事件，觸發許多服務 - 例如merge成功執行某項排程、某個Lambda、AWS Batch，達到一般git無法做到的自動化。
4. 權限控管選項非常詳細，靈活度更高。
5. 費用便宜 - 五人以內幾乎免費，即便五人以上，每人每月收費也只要一美元，相較於github可能更便宜。(六人以上1鎂/月、存儲容量50GB以上0.01鎂/月、一萬次以上git request 0.001鎂/月。 --- 沒超過都免費)


##### 缺點：
1. 可能形成不必要的支出 - 若只是要一般版控功能，gitlab幾乎在免費情況下提供相當完整的服務(也包含了ci/cd)。
3. 更多一點的技術成本 - 每一代接管者，都需要了解aws相關服務，才能更好的掌握，尤其是將cd/cd融合於版控工具的運行模式下更是如此。 若服務始終在地端、或者未來專案轉地端，團隊不見得熟悉AWS服務時，仍然需要為了在AWS上的版控，理解AWS Iam 及裡面的權限參數設定。( 請看參考資料2 )
4. 正因為權限控制上更加靈活，因此初期在權限設定上也更花時間，甚至是trial and error，方能確定設置上的正確性。

參考資料：
1. AWS CodeCommit: https://docs.aws.amazon.com/codecommit/latest/userguide/getting-started-topnode.html
2. Actions, resources, and condition keys for AWS CodeCommit: https://docs.aws.amazon.com/zh_cn/service-authorization/latest/reference/list_awscodecommit.html