In the Internet industry, the concepts of agile development and DevOps are being adopted by more and more enterprises. As a kind of collaborative culture, agile development and DevOps work to break down barriers and increase the sense of common responsibility among members. At the same time, they also reduce handover work and improve the speed of delivery to customers.
DevOps not only implements process tools (such as CI, CD, and containers) in enterprises, but also transforms the process of development and team collaboration. CICD tools are particularly important for small- and medium-sized enterprises (SMEs). By using mature tools and container technologies, enterprises can save costs and develop capabilities for rapid iteration and rapid response to business changes.
The following figure shows the relationships between CI/CD and agile development and DevOps:
Based on native Kubernetes, Tencent Cloud TKE provides a container-based solution that solves environmental issues in the processes of development, testing, and OPS and helps users to reduce costs and improve efficiency. Implementing DevOps requires many tools and underlying services, and completing closed-loop linkage requires long-term investment and the establishment of a complex toolchain system, which will consume a lot of time and resources and can even affect R&D efficiency and delivery efficiency and delay business development. The combination of Coding and cloud advantages provides a unified collaboration platform and R&D toolchain. When the workflow is run on the Coding integrated R&D efficiency platform, the data will evolve into team knowledge accumulated in the process of project implementation. Because the data becomes collective experience, it will facilitate the continuous self-improvement of the team. Coding can also be used to implement full lifecycle management for software R&D and save the trouble of complex infrastructure OPS hosting.
Coding can seamlessly interwork with TKE. This document describes how to implement CI/CD on Coding and deploy services to TKE clusters.
Continuous Integration is called CI for short. In the CI environment, developers frequently change and merge code, and the system will automatically build an application and run different levels of automated testing to verify the changes and ensure that the changes will not damage the application. The test items cover everything from classes and functions to the different modules that constitute the whole application. If automated testing finds conflicts between new code and existing code, CI can fix errors easily and quickly. See the figure below:
Note:The difference between Continuous Delivery and Continuous Deployment: Continuous Delivery is a capability, whereas Continuous Deployment is a method.
Continuous Delivery is called CD for short. After the CI process is completed, CD supports the following operations:
The following figure shows the detailed process:
Continuous Deployment is called CD for short. It is the last stage of CICD. Continuous Deployment automatically deploys all changes, including Continuous Delivery, to the production environment. Generally, due to business considerations, you can choose not to perform the deployment. If deployment is needed, Continuous Delivery must be implemented first. The following figure shows the detailed process:
Currently, the two types of CI/CD tools are provided: On-Premise and Hosted tool-type SaaS service.
Users need to establish a server to run the CI/CD tools.
Users do not need to establish a server.
The advantages of hosted tools are as follows:
Low maintenance costs: As the operation environment is hosted by services, there are no maintenance costs. In contrast, on-premise tools require a great deal of time for server deployment and maintenance.
Clean operation environment: When using Python as the project programming language, you need to continuously integrate different versions of Python (2.7, 3.6, and 3.7), whereas Hosted CI/CD can create a new operation environment each time and allow you to make version adjustments at any time.
Pre-installed software and runtime environments: The continuous integration of a project requires the use of different runtimes and toolchains. Hosted CI/CD Service has already been pre-installed with a lot of common software and runtime environments, thus reducing the time it takes to establish an environment.
Coding is a tool for implementing the CI/CD process. Coding provides a complete set of R&D process management systems (including the complete CI/CD process). The whole process from requirement submission to product iteration, product design, code management, automated testing, continuous integration, build management, and continuous deployment is completed in Coding. The use of Coding can achieve the standardization of production line operations and automatic version recording, thus simplifying enterprise R&D management and improving R&D efficiency.
Note:The steps here are an example intended for a root account user who uses the DevOps service for the first time. If you have activated the service, you can skip these steps and proceed to Creating a project and a code repository.
Software products refer to binary files generated through source code compilation and packaging. Binary files in different programming languages have different formats, and they usually can be directly run on a server.
Note:After setting the access token, save it properly for future TKE image pulling.
Note:Before executing the building plan, you must run the following command to add the docker registry account of Coding to the TKE cluster for image pulling authorization.
kubectl create secret docker-registry coding --docker-server=coding registry address --docker-username=user name --docker-password=password --docker-email=email address
This document briefly introduces how Coding implements basic CI/CD operations based on TKE. For more information, refer to the documentation on the official website of Coding.
Was this page helpful?