tencent cloud

CODING Continuous Integration
A cloud-based code build service for Java, Python, and more
Overview

CODING Continuous Integration (CODING-CI) is fully compatible with Jenkins' continuous integration services. It supports popular programming languages such as Java, Python, and Node.js and building Docker images. Its graphical orchestration, high-spec cluster, and multi-job parallel build features help you comprehensively accelerate your build tasks. It supports mainstream Git code repositories, including CODING-CR, GitHub, and GitLab. In terms of build dependency pull, it has dedicated network optimizations for major image sources such as Maven and npm to ensure a high pull speed and further accelerate the build process.

Benefits
Graphical Orchestration
In addition to the manual editing of build scripts, CODING-CI also offers perfect graphical orchestration capabilities to lower the barriers of use. For each step of the build, it offers various build script templates that you can choose from, delivering an intuitive editing experience.
Comprehensive Build Types
In addition to Docker images, CODING-CI also supports the builds of JAR, APK, and other software packages. Plus, it has many preset build environment images such as Java, Python, and Node.js.
Multi-Job Parallel Build
CODING-CI supports single-project parallel build to meet the needs of heavy users of continuous integration. Its backend server cluster can schedule responsive computing resources according to user needs, ensuring that build tasks start quickly and reducing their queuing time.
Cache Acceleration
During the continuous integration and build process, the repetitive downloading of dependent files may result in a long build time. CODING-CI supports enabling caching between different build tasks to accelerate repetitive builds by an average of 300%.
High Compatibility
The build scripts of CODING-CI are fully syntactically compatible with Jenkins, the most widely used continuous integration tool in the world, which means that you can seamlessly and easily migrate Jenkins builds to CODING.
Flexible Build Resources
CODING-CI provides CVM instances as build resources and also supports access to custom build nodes. Based on CVM, you can directly execute build plans, eliminating the trouble of Ops. Based on custom build nodes, you can execute builds in virtual machines on Linux, macOS, and Windows as well as in containers.
Features

CODING-CI has a rich set of features that improve the efficiency of your project development, eliminate repetitive work, and deliver results faster through automated means.


Automated Build

- Offers service-oriented build methods with on-demand APIs and UIs.

- Supports Maven, Gradle, and Makefile builds, which can be automatically executed at scheduled times or triggered by code commits.


Graphical Editor

In addition to the manual editing of build scripts, CODING-CI also offers perfect graphical orchestration capabilities to lower the barriers of use. For each step of the build, it offers various build script templates that you can choose from.


- The graphical editor is preset with many commonly used steps. Changes made to it can be 100% converted into views of the text editor; that is, all the steps added or deleted in it can be converted into code text.

- The visualized view is also compatible with most custom operations, delivering an intuitive editing experience.


Full Compatibility with Jenkins

- The build scripts of CODING-CI are fully syntactically compatible with Jenkins, the most widely used continuous integration tool in the world, which means that you can seamlessly and easily migrate Jenkins builds to CODING.

- A Jenkinsfile is a script used to configure continuous integration, i.e., writing a script for Jenkins. Each target code change will trigger CODING-CI to automatically execute once based on the pipeline in the Jenkinsfile.


Preinstalled Build Environment

CODING-CI provides a complete set of pre-installed build environments, where compilation and build services in many programming languages can be used in different types of projects. You can directly build projects with images in such environments.


- Provides compilation and build services in multiple programming languages including Java, PHP, Python, Go, and Ruby.

- Comes with a rich set of command line tools. In addition to Docker images, it also supports building Maven, Gradle, and other software packages.


Multi-Job Parallel Build

- CODING-CI supports single-project parallel build (up to 20 concurrent jobs) to meet the needs of heavy continuous integration users.

- Its backend server cluster can schedule responsive computing resources according to user needs, ensuring that build tasks start quickly and reducing their queuing time.


Cache Acceleration

CODING-CI supports enabling caching between different build tasks to accelerate repetitive builds by an average of 300%.


Triggering Rule

CODING-CI supports various triggering rules. For example, tasks can be triggered automatically by code updates, manually, or by merge requests.

Scenarios
CODING-CI can be used to automatically build code. Based on the user-defined build environment and build script instructions, it can quickly build the source code into runnable artifacts with the aid of the high computing and networking power of the cloud and store them in build version repositories.
CODING-CI makes complicated yet important supplementary code review easier. It can perform prepping work such as automated build, automated testing, style check, quality scanning, and security evaluation before the review starts, which greatly reduces the complexity and difficulty of the review work.
DevOps requires a high degree of automation for the software delivery process, in which automated testing is particularly important. CODING-CI can participate in automated tests at project release, code review, project acceptance, and other stages to improve the efficiency of the delivery process.
Success Stories
Fudan University
Foxconn
Dida Chuxing
ZEGO
MOCKINGBOT
CMGE
C-life
Gengmei
BOCOM Schroders
Mininglamp Technology
BestSign
Lakala
FAQs

What is continuous integration?

In software engineering, continuous integration (CI) refers to the practice of merging the working copies of all developers into the master branch for multiple times per day. Grady Booch first named and proposed the concept of CI in the Booch method in 1991, although at that time he did not advocate for multiple integrations per day. Extreme Programming (XP) adopted the concept of CI and advocated for integration for more than once a day.


How do I view the result of continuous build integration?

After a task triggers the build, a build record will be generated, which will show whether each stage of the pipeline succeeds or fails as well as the specific command execution effects and logs in each step.


How do I generate an artifact?

You can add an artifact collection step in the graphical editor stage and enter the path of the file to be collected, and it will be displayed as an artifact of the build process.


How do I build continuous integration?

CODING-CI provides services and capabilities based on Jenkins and has greatly optimized it. A Jenkinsfile defines the pipelines in continuous integration, which implement the workflow encapsulation and management of steps. The pipelines can be executed sequentially or in parallel. Each target code change will trigger CODING-CI to automatically execute once according to the pipeline in the Jenkinsfile.

By creating a continuous integration task, selecting a continuous integration process template, and configuring the continuous integration process, you can start building. For detailed directions, please see the CODING-CI product documentation.