在亞馬遜云AWS上,云用戶可以輕松實現DevOps所提倡的持續集成和持續部署流水線的相關功能或服務?,F針對與DevOps落地和實施相關的典型AWS云產品進行具體內容介紹。
AWS CodeCommit產品提供在云中源代碼完全托管服務,這類似于目前比較流行的GitHub或Git Lab的產品功能。云用戶可以基于CodeCommit創建隸屬于每個開發人員自己的高度安全和可擴展的專用Git存儲庫,而無需擔心承載存儲庫的IT基礎設施的擴展能力,云的彈性伸縮的能力讓存儲庫的動態擴展全程無憂。
AWS CodeCommit相對于傳統的Git會有諸多優勢,比如CodeCommit 可以與AWS的賬號管理服務 (IAM)緊密集成,以實現把特定的云用戶權限分配到存儲庫,以實現必要的安全保證。談到安全,,CodeCommit會確保存儲在存儲庫中的文件無論在靜止和傳輸時都處于加密狀態,從而符合國際標準化組織ISO27001的安全合規性要求。CodeCommit所能存儲的文件類型非常廣泛,從代碼到二進制文件的一切內容都可以作為存儲對象。CodeCommit兼容Git的標準功能,比如CodeCommit存儲庫支持代碼的拉取請求,使不同的開發用戶可以相互查看和評論各自的代碼更改,以支持后繼的基于主干開發的代碼合并和基于分支的軟件發布。CodeCommit支持傳統的Git 命令、AWS的CLI命令行和標準API來實現存儲庫的拉取和合并等諸多操作。例如,通過運行git clone命令創建一個連接到特定CodeCommit存儲庫,并克隆一個本地存儲庫。通過運行git add命令在本地存儲庫存放修改過的文件。通過運行git commit命令從本地存儲庫提交文件,然后運行git push命令將更新后的文件發送到AWS云上CodeCommit存儲庫中去。通過運行git pull命令將云上 CodeCommit存儲庫中的文件與本地存儲庫進行同步,以確保每個云開發用戶使用最新版本的文件。
通過如上對AWS CodeCommit的論述,我們能夠感知到CodeCommit在云上提供類似于Git的源代碼完全托管服務。AWS CodeBuild是一項完全托管的持續集成服務,持續集成的主要功效就是實現不同開發人員代碼的持續的基于主干的代碼合并,并觸發自動化的單元測試。AWS的另一個典型的產品CodePipeline能夠結合CodeCommit和CodeBuild服務打造DevOps的持續部署流水線,即全新的軟件發布流程。CodePipeline 可實現軟件發布流程的自動化,只要云開發用戶的代碼發生變更,CodePipeline便會觸發針對增量代碼的自動化測試和和部署的全過程,使業務新功能的發布成為一種常規的低風險操作。換句話來講,應用CodePipeline服務的企業能夠快速為其客戶發布新的業務產品功能,并實現來自業務用戶的快速迭代反饋。另外,為了使自動化部署流水線的全過程做到安全可控,CodePipeline支持以可視化的方式監視部署的全過程,再現可能的部署錯誤,確保最終部署到生產環境的代碼質量。
總之,云用戶可以通過在AWS上提供的諸如CodeCommit、CodeBuild和CodePipeline等云產品輕松實現DevOps在云上的落地。