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

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

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

前言

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

函數計算(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 工做流程。實現以下四個小目標:github

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

工做流程圖

image.png

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

示例項目

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

相關文章
相關標籤/搜索