
# 方案概述
#### 应用场景
该解决方案可以帮助您快速在华为云弹性云服务器 ECS上部署源码编译环境，通过云服务器弹性伸缩的特性，结合[Jenkins](https://www.jenkins.io/)的持久化构建的能力，帮助企业快速部署各类复杂的编译环境，以最低的编译成本，实现日常的编译工作。Jenkins是一个开源软件项目，是基于Java开发的一种持续集成工具，用于监控持续重复的工作，旨在提供一个开放易用的软件平台，使软件项目可以进行持续集成。
#### 方案架构
该解决方案通过华为云服务器弹性伸缩的特性，结合Jenkins的持久化构建的能力，帮助用户快速部署各类复杂的编译环境。
图1方案架构
![](https://support.huaweicloud.com/dscbsbj-ctf/zh-cn_image_0000001451513540.png)
该解决方案会部署如下资源：
- 创建两台弹性云服务器，分别部署Gerrit代码仓和Jenkins Master节点；
- 配置编译节点，在Jenkins Master节点中配置华为云插件，实现动态创建、释放ECS编译节点；
- 创建对象存储服务 OBS桶，用来存储编译结果。 用户可以使用镜像服务 IMS，提前准备编译需要的操作系统环境。
  
#### 方案优势
- 弹性灵活 利用云服务器弹性伸缩、按需购买的特性，实现编译节点动态按需编译的需求。
  

- 低成本 提供极致性价比的云服务器和对象存储，实现定时、自动编译以及结果存储，无需购买高配物理服务器。
  

- 一键部署 一键轻松部署，即可完成资源的快速发放以及Jenkins源码编译环境的部署。
  
 
#### 约束与限制
- 部署该解决方案之前，需注册华为账号并开通华为云，完成实名认证，且账号不能处于欠费或冻结状态。如果计费模式选择"包年包月"，请确保账户余额充足以便一键部署资源的时候可以自动支付；或者在一键部署的过程进入费用中心，找到"待支付订单"并手动完成支付。
- 该解决方案部署成功后，基于Jenkins编译环境自动化搭建大约需等待20分钟，完成之后方可按照地址访问Jenkins和Gerrit。
 
