gitlab-ci The full name is gitlab continuous
integration What do you mean , That is continuous integration . The central idea is that every time push reach gitlab When , Will trigger a script execution , Then the content of the script includes the test , compile , Deployment and other customized content .

Automatic deployment involves several roles , The main introduction is as follows

*
GitLab-CI

This is a set of coordination GitLab Continuous integration system used , yes GitLab Self contained , That's what you pretend to be GitLab It's on the server . There's no need to think about it ..gitlab-ci.yml It is responsible for script parsing .

*
GitLab-Runner

This is the bearer of the script execution ,.gitlab-ci.yml Of script Part of the operation is done by runner In charge of it .GitLab-CI Browse the .gitlab-ci.yml After the document , According to the rules , Assign to each Runner To run the corresponding script script. Some of these scripts are used for testing projects , Some are for deployment .

*
.gitlab-ci.yml
This is in the git A file in the root directory of the project , A series of stages and execution rules are recorded .GitLab-CI stay push It will be parsed later , Call according to the content inside runner To run .

*
Pipeline
once Pipeline In fact, it is equivalent to a construction task , It can contain multiple processes , If the installation depends on , Run the test , compile , Deploy test server , Deployment of production server and other processes .

*
Stages
Stages Represents the construction phase , To put it bluntly, it is the process mentioned above . We can do it once Pipeline More than one is defined in Stages, these ones here Stages It will have the following characteristics :

*
All Stages It will run in order , That is to say Stage After completion , next Stage Before it starts

*
Only when all Stages After completion , The build task (Pipeline) Will succeed

*
If any of them Stage fail , So the back one Stages It won't be implemented , The build task (Pipeline) fail

* Jobs
Jobs Represents the build work , Represents a Stage Work carried out inside . We can Stages It defines multiple Jobs, these ones here Jobs It will have the following characteristics :
* identical Stage Medium Jobs Will be executed in parallel
* identical Stage Medium Jobs When both are executed successfully , The Stage Will succeed
* If any of them Job fail , So it's time Stage fail , This is the build task (Pipeline) fail
 

Technology
©2020 ioDraw All rights reserved
Self made whole person computer program PHP call shell command python Simple record of network programming layui.table Examples of dynamically getting header and list data Big data environment --- data warehouse (hive+mysql+hadoop) The construction of What are the types of variables ?MYSQL database DML Common commands 《 From machine learning to deep learning 》 note (2) Unsupervised learning log4j Method of printing exception stack information Android Development — Display food information according to customer budget