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 对象 存储服务器

相关文章
相关标签/搜索