Serverless 實戰——Funcraft + OSS + ROS 進行 CI

點擊底部瞭解更多,查看示例項目,自動化部署,單元測試等更多重要內容

簡介: 本文打算以一個簡單的函數計算項目為例,在此基礎上編寫測試用例,進行配置,讓其支持 CI/CD 工作流程。實現如下四個小目標:1. CI 被 git commit 提交觸發;2. 執行測試(單元、集成和端對端);3. 函數打包上傳到 OSS;4. 通過 ROS 部署函數到 Staging 環境。

前言

首先介紹下在本文出現的幾個比較重要的概念:

函數計算(Function Compute):函數計算是一個事件驅動的服務,通過函數計算,用戶無需管理服務器等運行情況,只需編寫代碼並上傳。函數計算準備計算資源,並以彈性伸縮的方式運行用戶代碼,而用戶只需根據實際代碼運行所消耗的資源進行付費。函數計算更多信息參考。
Funcraft:Funcraft 是一個用於支持 Serverless 應用部署的工具,能幫助您便捷地管理函數計算、API 網關、日誌服務等資源。它通過一個資源配置文件(template.yml),協助您進行開發、構建、部署操作。Fun 的更多文檔參考。
OSS: 對象存儲。海量、安全、低成本、高可靠的雲存儲服務,提供99.9999999999%的數據可靠性。使用RESTful API 可以在互聯網任何位置存儲和訪問,容量和處理能力彈性擴展,多種存儲類型供選擇全面優化存儲成本。


ROS:資源編排(ROS)是一種簡單易用的雲計算資源管理和自動化運維服務。用戶通過模板描述多個雲計算資源的依賴關係、配置等,並自動完成所有資源的創建和配置,以達到自動化部署、運維等目的。編排模板同時也是一種標準化的資源和應用交付方式,並且可以隨時編輯修改,使基礎設施即代碼(Infrastructure as Code)成為可能。
CI/CD: CI/CD 是一種通過在應用開發階段引入自動化來頻繁向客戶交付應用的方法。CI/CD 的核心概念是持續集成、持續交付和持續部署。

目標

本文打算以一個簡單的函數計算項目為例,在此基礎上編寫測試用例,進行配置,讓其支持 CI/CD 工作流程。實現如下四個小目標:

  1. CI 被 git commit 提交觸發
  2. 執行測試(單元、集成和端對端)
  3. 函數打包上傳到 OSS
  4. 通過 ROS 部署函數到 Staging 環境

工作流程圖

Serverless 實戰——Funcraft + OSS + ROS 進行 CI/CD

這裡以大家熟悉的 Github 倉庫為例,並結合 Travis CI 。當用戶往示例項目 push 或者 PR(Pull Request)時,會自動觸發 Travis CI 的工作任務,進行單元測試、構建打包和部署發佈。

示例項目

關鍵字:存儲 Cloud Native JavaScript 前端 開發測試技術 Serverless Shell 持續交付 API 對象 存儲


分享到:


相關文章: