做者 | 李鑫(繽智) 阿里雲高級技術專家
來源 | Serverless 公衆號,整理自《Serverless 技術公開課》html
經過以往幾節課程的學習,相信你們對於 SAE 平臺已經有了必定的瞭解。SAE 爲客戶免除了不少複雜的運維工做,開箱即用、按用量付費;與此同時 SAE 提供了豐富的 Open API,能夠很容易地與其餘平臺作集成;相似雲效以及 Jenkins 的 CI/CD 工具是敏捷軟件研發實踐中的重要一環,能夠自動化地將客戶的代碼編譯、測試、打包並部署至各個環境,從而提高團隊的研發效率。java
本篇文章分爲兩個部分,首先介紹使用雲效平臺實現從源碼到 SAE 環境的持續集成,而後介紹使用 Jenkins 的狀況下持續集成該如何配置。docker
雲效(rdc.console.aliyun.com),是阿里雲推出的企業級一站式 Devops 平臺型產品,功能覆蓋了從【需求->開發->測試->發佈->運維->運營】全流程。對雲效感興趣的同窗能夠去【阿里雲官網】搜索【雲效】,本文只介紹與 CI/CD 相關的部分功能。less
如上圖所示,圖的上半部分是咱們的配置流程,下半部分的流程圖是咱們所要執行的持續集成流程的示例。雲效首先會從代碼倉庫中拉取相應的代碼,而後進行代碼檢查以及單元測試,接着是代碼編譯構建,這一步會產出相應的生成物:在這裏咱們用一個 java 應用來舉例,若是構建產出物這一步選擇是 jar 類型,那麼流水線在運行時運行 mvn package 命令產出對應的 jar 包;若是構建產出物類型是 Docker 鏡像,那麼在構建這一步在產出 jar 包後會繼續執行 docker build 命令來構建對應的 Docker 鏡像並上傳到您所選擇的 ACR 鏡像倉庫;流水線的最後兩步是調用 SAE 的 Open API 將構建物(jar 包/Docker 鏡像)部署分發到測試環境,根據咱們預先的設置,在部署完測試環境這一步後流水線會停下來等待手動觸發下一步操做;等待手動驗證測試環境的部署一切正常後,手動觸發流水線繼續運行,此次將調用 Open API 部署到生產環境。運維
操做步驟:maven
Jenkins 是被業界普遍使用的開源 CI/CD 平臺,使用 Jenkins 能夠將源碼打包編譯後部署至 SAE,其達成的最終效果與「經過雲產品雲效部署至SAE」相似,經過 Jenkins 將應用源碼編譯成爲 jar 包,而後經過maven plugin 來調用 SAE 的 Open API 部署接口將應用部署至 SAE。ide
操做步驟:工具
部署過程視頻演示,請點擊連接觀看:https://developer.aliyun.com/lesson_2026_19006單元測試
看到這裏,相信你們已經學會了如何使用 CICD 工具將源碼很是輕鬆地部署至 SAE 平臺,但願持續集成平臺與 SAE 這個能夠提高研發效能的組合,幫助您的業務快速起飛!學習