亞馬遜AWS云產(chǎn)品針對DevOps的落地實踐
2022-06-07閱讀 1190

在亞馬遜云AWS上,云用戶可以輕松實現(xiàn)DevOps所提倡的持續(xù)集成和持續(xù)部署流水線的相關(guān)功能或服務(wù)。現(xiàn)針對與DevOps落地和實施相關(guān)的典型AWS云產(chǎn)品進行具體內(nèi)容介紹。

AWS CodeCommit產(chǎn)品提供在云中源代碼完全托管服務(wù),這類似于目前比較流行的GitHub或Git Lab的產(chǎn)品功能。云用戶可以基于CodeCommit創(chuàng)建隸屬于每個開發(fā)人員自己的高度安全和可擴展的專用Git存儲庫,而無需擔(dān)心承載存儲庫的IT基礎(chǔ)設(shè)施的擴展能力,云的彈性伸縮的能力讓存儲庫的動態(tài)擴展全程無憂。

AWS CodeCommit相對于傳統(tǒng)的Git會有諸多優(yōu)勢,比如CodeCommit 可以與AWS的賬號管理服務(wù) (IAM)緊密集成,以實現(xiàn)把特定的云用戶權(quán)限分配到存儲庫,以實現(xiàn)必要的安全保證。談到安全,,CodeCommit會確保存儲在存儲庫中的文件無論在靜止和傳輸時都處于加密狀態(tài),從而符合國際標準化組織ISO27001的安全合規(guī)性要求。CodeCommit所能存儲的文件類型非常廣泛,從代碼到二進制文件的一切內(nèi)容都可以作為存儲對象。CodeCommit兼容Git的標準功能,比如CodeCommit存儲庫支持代碼的拉取請求,使不同的開發(fā)用戶可以相互查看和評論各自的代碼更改,以支持后繼的基于主干開發(fā)的代碼合并和基于分支的軟件發(fā)布。CodeCommit支持傳統(tǒng)的Git 命令、AWS的CLI命令行和標準API來實現(xiàn)存儲庫的拉取和合并等諸多操作。例如,通過運行g(shù)it clone命令創(chuàng)建一個連接到特定CodeCommit存儲庫,并克隆一個本地存儲庫。通過運行g(shù)it add命令在本地存儲庫存放修改過的文件。通過運行g(shù)it commit命令從本地存儲庫提交文件,然后運行g(shù)it push命令將更新后的文件發(fā)送到AWS云上CodeCommit存儲庫中去。通過運行g(shù)it pull命令將云上 CodeCommit存儲庫中的文件與本地存儲庫進行同步,以確保每個云開發(fā)用戶使用最新版本的文件。

通過如上對AWS CodeCommit的論述,我們能夠感知到CodeCommit在云上提供類似于Git的源代碼完全托管服務(wù)。AWS CodeBuild是一項完全托管的持續(xù)集成服務(wù),持續(xù)集成的主要功效就是實現(xiàn)不同開發(fā)人員代碼的持續(xù)的基于主干的代碼合并,并觸發(fā)自動化的單元測試。AWS的另一個典型的產(chǎn)品CodePipeline能夠結(jié)合CodeCommit和CodeBuild服務(wù)打造DevOps的持續(xù)部署流水線,即全新的軟件發(fā)布流程。CodePipeline 可實現(xiàn)軟件發(fā)布流程的自動化,只要云開發(fā)用戶的代碼發(fā)生變更,CodePipeline便會觸發(fā)針對增量代碼的自動化測試和和部署的全過程,使業(yè)務(wù)新功能的發(fā)布成為一種常規(guī)的低風(fēng)險操作。換句話來講,應(yīng)用CodePipeline服務(wù)的企業(yè)能夠快速為其客戶發(fā)布新的業(yè)務(wù)產(chǎn)品功能,并實現(xiàn)來自業(yè)務(wù)用戶的快速迭代反饋。另外,為了使自動化部署流水線的全過程做到安全可控,CodePipeline支持以可視化的方式監(jiān)視部署的全過程,再現(xiàn)可能的部署錯誤,確保最終部署到生產(chǎn)環(huán)境的代碼質(zhì)量。

     總之,云用戶可以通過在AWS上提供的諸如CodeCommit、CodeBuild和CodePipeline等云產(chǎn)品輕松實現(xiàn)DevOps在云上的落地。

頭像
劉通
464
文章總數(shù)
1237938
總閱讀數(shù)