Updated on 2023-09-08 GMT+08:00

Solution Overview

Scenarios

This solution helps you quickly deploy source code compilation environments on Elastic Cloud Server (ECS). With the elastic scaling of ECS and the persistency of Jenkins, this solution helps you quickly and inexpensively deploy complex compilation environments, greatly improving the efficiency of software deployment. Jenkins is an open-source continuous integration tool written in Java. It aims to provide an open and easy-to-use software platform for continuous integration of software projects.

Solution Architecture

This solution is a great way to deploy software more efficiently. The solution architecture is illustrated below.
Figure 1 Architecture

This solution will:

  • Create two ECSs, one for the Gerrit code repository and one for the Jenkins master node.
  • Configure compilation nodes and configure Huawei Cloud plug-ins on the Jenkins master node to dynamically create and release ECS compilation nodes.
  • Create an Object Storage Service (OBS) bucket to store compilation results.

You can use Image Management Service (IMS) to prepare the OS environment required for the compilation in advance.

Advantages

  • Elastic scaling

    Benefiting from elastic scaling and on-demand purchase of ECS, compilation nodes can be dynamically created or released.

  • Low cost

    ECS is used for scheduled, automatic compilation and OBS is used to store compiled code. You do not need to purchase physical servers.

  • Easy deployment

    Resources can be quickly provisioned and source code compilation environment based on Jenkins can be deployed.

Constraints

  • Before deploying this solution, you need to sign up for Huawei Cloud. Ensure that your account is not in arrears or frozen.
  • After this solution is deployed, the compilation environment with Jenkins is set up automatically, but it takes about 20 minutes to complete. Once this process is complete, you can access Jenkins and Gerrit URLs.