做者 | 李鑫(缤智) 阿里云高级技术专家
来源 | 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 这个能够提高研发效能的组合,帮助您的业务快速起飞!学习