background

Under the background that fast pace of life has become a social trend at present, more and more Internet companies need to develop and launch application products more quickly in order to grasp the pulse of the wind faster and seize the market dividend. Under the feedback of the market, they constantly iterate on new functions. Under this demand, continuous integration, continuous deployment and continuous delivery are advocated by more and more companies. The rise of DevOPS culture is on the one hand a practice to break the fortress wall of operation and maintenance and R&D, and on the other hand a necessary product in the process of agile development.

Improve software development efficiency, rapid iteration, rapid trial and error, and according to the characteristics of their own development team, what kind of technical means can be the most efficient software development, more rapid and agile, and how can meet the product can be in the shortest period, high quality business delivery demands?

This column in this context and provide Gitlab CI continuous integration solution for everyone, through a series of practical, let you can intuitively clear understanding of this model, the column for the topic, you, the reader can according to the actual production in the environment to consider whether the introduction of this model, optimize the delivery process, can release the research and development of the large potential, at the same time, Readers can experience the silky end-to-end CI experience of CICD in this column, and both operation and maintenance personnel and developers can understand and learn Gitlab CI process and specific operation mode in a more systematic and macro way in this column.

A, Gitlab

When it comes to Gitlab CI, everyone may think of Gitlab. As the most popular git hosting server at present, compared with Github, enterprises can carry out private deployment, maintain the server by themselves, project data is more secure and controllable, and the network is faster and more secure.

Gitlab provides users with a friendly Web interface, online code review, multi-person collaboration, and webhook and self-built application intervention. Its powerful functions have been the preferred code repository for most Internet companies. Its own Gitlab CI does not rely on other publishing software. Natural rapid integration project CI function, better meet the needs of rapid continuous integration and deployment of business agile development.

Continuous integration

Before talking about Gitlab CI, we all know continuous integration, which is a software development practice. In order to ensure the rapid iteration of the developed products can maintain high quality, the frequent merging of the tested code into the main branch, continuous trial and error as early as possible, and more agile development.

Three Gitlab CI

Through the above content, we have been able to know in the rapid development of the present, agile is a high efficient development mode, continuous integration is that we in the process of the necessary measures, so how to realize the continuous integration, this need our solutions to achieve, through the conversation in this we know that most companies use Gitlab, Then we use Gitlab CI to achieve continuous integration with the same system for quick unification.

Four advantages of Gitlab CI

As Gitlab’s own continuous integration solution, the code is managed by Gitlab. Gitlab CI natural set does not require additional configuration or operation and maintenance personnel to independently maintain other CI systems, so as to avoid the introduction of multi-point failures. Only Gitlab maintenance is required.

Gitlab-ci.yaml file is triggered, which saves the third-party CI server from the pressure of using Webhook to request Gitlab regularly. If there are many configured project pipelines, this pressure should not be ignored.

Gitlab CI itself is designed as Config as Code to host the CI/CD configuration in the project to avoid the problem of manual CONFIGURATION of CI by everyone or inconsistency.

The real architecture of Gitlab CI is C/S architecture mode, which can be horizontally expanded in terms of aspects and has no impact on job performance. Its construction includes build log and is easy to trace.

Its CI process uses gitLab’s own mail notification without additional configuration notification.

Learn about the advantages of the Gitlab CI, have a certain interest, let’s take a walk into Gitlab CI in actual combat, a taste of the silky smooth continuous integration experience, through the column by four practical, can according to their own characteristics to improve the assembly line, apply to release physical server, virtual machine, public/private cloud cloud, Already K8s etc. Break down the barriers of R & D, operation and maintenance, improve the team and collaboration/rapid feedback/response to change.

Five Matters needing attention

This column 1, from theory to practice, although for micro column, but from the CI process analysis principle and front and back end project hybrid deployment of the environment, the omnidirectional and multi-level in-depth understanding and practical Gitlab CI, believe whatever you currently use is a kind of CI/CD package, through this column will be able to let you to rediscover CI from different angles.

The first two actual combat threshold of this column is low, used in physical server/virtual machine/cloud server, the third requires readers to have a certain K8s knowledge, I believe that in the near future, micro services popular, the third will be able to wish you a helping hand.

➤ Break barriers to operation and development

➤ Gitlab key for CI continuous integration

Study together > > > blog.51cto.com/cloumn/deta…