Solution Overview
DevOps is a set of processes, methods, and systems that promote close communication, efficient collaboration, and integration between development (applications or software engineering), technical operations, and quality assurance (QA) departments. By using automatic software delivery and architecture change processes, DevOps enables faster, more frequent, and more reliable planning, development, build, tests, releases, deployment, and maintenance, resulting in stable and reliable development outcomes. As microservices and middle-end architectures continue to emerge, DevOps becomes increasingly crucial.
Solution Architecture
This solution uses GitLab and Jenkins to automate the building and continuous deployment of containerized applications. GitLab handles source code management and versioning, while Jenkins is responsible for building and deploying the containerized applications. To maintain high isolation between the production and testing environments, two separate Kubernetes clusters are used, one for each environment.
The following shows an example of the complete process, starting from source code compilation and image building, to application testing, production, and rollout:
- Create a Git repository in GitLab and associate it with Jenkins.
- Create a build job in Jenkins and allow it to use the Git repository of GitLab.
- In the build job, configure the compiler and build parameters so that the source code can be obtained from the Git repository and compiled.
- Push the compiled image to the SWR image repository.
- Deploy the image in a Kubernetes cluster in the testing environment.
- After the image passes the test and is approved, deploy it in a Kubernetes cluster in the production environment.
Solution Highlights
- The entire process, from code submission to deployment and rollout, is automated, resulting in a significant improvement in delivery efficiency.
- Containerized applications are ready to use out-of-the-box, and they can be reused at a low cost.
- To ensure that the testing and production environments operate independently and do not interfere with each other, multiple Kubernetes clusters are isolated.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot