CN108958721A - A kind of intelligence continuous integrating with persistently dispose pipelining technique and system - Google Patents

A kind of intelligence continuous integrating with persistently dispose pipelining technique and system Download PDF

Info

Publication number
CN108958721A
CN108958721A CN201810744917.0A CN201810744917A CN108958721A CN 108958721 A CN108958721 A CN 108958721A CN 201810744917 A CN201810744917 A CN 201810744917A CN 108958721 A CN108958721 A CN 108958721A
Authority
CN
China
Prior art keywords
task
continuous integrating
persistently
configuration
change
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810744917.0A
Other languages
Chinese (zh)
Other versions
CN108958721B (en
Inventor
朱家鑫
陈伟
高楚舒
魏峻
杨丰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201810744917.0A priority Critical patent/CN108958721B/en
Publication of CN108958721A publication Critical patent/CN108958721A/en
Application granted granted Critical
Publication of CN108958721B publication Critical patent/CN108958721B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The present invention provides a kind of intelligent continuous integrating and persistently disposes pipelining technique and system, the development language for collecting the continuous integrating for the project that can be accessed in open cooperation platform and continuing deployment configuration file and using, Development Framework information, it constructs continuous integrating and persistently disposes line task library and configuration template library, the development language used according to project, Development Framework recommends pipeline configuration, comprehensively monitoring is carried out to the execution of task during continuous integrating and lasting deployment, metric analysis and record, according to rule, historical data, relationship between task, the change of task input file carries out dynamic regulation to the execution of task in assembly line.The present invention can be improved the effect of continuous integrating, reduce the expense of continuous integrating.

Description

A kind of intelligence continuous integrating with persistently dispose pipelining technique and system
Technical field
The present invention relates to continuous integrating and the technical field more particularly to a kind of intelligent continuous integrating persistently disposed with hold Continuous deployment pipelining technique and system.
Background technique
Continuous integrating is an important practice in software development.Grady Booch proposed lasting collection in 1994 at first At theory, then, the Extreme Programming method (Extreme that Kent Beck and Ron Jeffrie are proposed at them Programming continuous integrating has been promoted in).
The basic idea of continuous integrating is that the work of all developers in software development team will constantly be integrated into one On the shared exploitation main line of item, integrating process includes the tasks such as merging, compiling, building, the test of code, and this method continues Sex expression is to carry out such integrating process several times daily.
Continuous integrating is found between them early by constantly merging and checking the code change of each developer Conflict and quality problems.
For the software systems of the needs such as Internet application deployment, continuous integrating extends to deployment phase just from the development phase Produce lasting deployment.
Lasting deployment can accelerate the update iteration speed of software product, in time have the changing push of software to user Effect promotes user experience.
The continuous integratings such as Jenkins, TrvaisCI tool (service) realizes the mistake of continuous integrating by pipelining Journey it is increasingly automated.
Continuous integrating and persistently deployment assembly line include between continuous integrating and lasting deployment task and its configuration, task The automatic executing agency of dependence and task.
User writes pipeline configuration file, and continuous integrating tool (service) is according to appointing in configuration file execution pipeline Business.
Continuous integrating and the selection of frequency, opportunity and the task persistently disposed have a very big impact its efficiency, mistake High frequency and unnecessary task will cause the excess overhead of computing resource, the integrated extension with deployment cycle, and to exploitation Person brings excessive interference, and too low frequency and incomplete task, which are then unable to reach, improves development efficiency and software quality Target.
Although the process that existing tool can automate continuous integrating and persistently dispose, developer needs rule of thumb Distributing sustainable is integrated and persistently disposes assembly line, and the context of a project development is in lasting variation, and developer is difficult Real-time, effective adjustment is carried out to be manually directed to these variations to configuration.
Therefore, software project and software developer there is an urgent need to a kind of intelligent recommendation, automatic adjustment continuous integrating with hold Continuous deployment assembly line, to improve continuous integrating and the effect persistently disposed and reduce expense.
Summary of the invention
It lives the technical problems to be solved by the present invention are: overcoming the deficiencies of the prior art and provide one kind and can perceive exploitation Dynamic and its context, assessment continuous integrating and lasting deployment task implementation effect and the continuous integrating for carrying out recommendation and automated tuning With lasting deployment pipelining technique and system, to improve continuous integrating and persistently the effect disposed and reduce expense.
The technology of the present invention solution: a kind of intelligent continuous integrating of the invention and persistently disposing pipelining technique, wraps It includes:
(1) it collects the continuous integrating for the project that can be accessed in open cooperation platform and continues deployment configuration file and project The development language that uses, Development Framework information, building continuous integrating with persistently dispose line task library and configuration template library;
(2) one is constructed with each single item task persistently disposed in line task library for continuous integrating described in (1) Cover optional, configurable task execution rule;
(3) development language, the Development Framework that the user items of this method service use, the exploitation language used according to it are obtained Recommend flowing water in speech, continuous integrating of the Development Framework described in (1) and persistently deployment line task library and configuration template library Line configuration template and line task, user complete the configuration of assembly line under recommendation, ultimately form the lasting collection of user items At with lasting deployment assembly line;
(4) the Version Control warehouse address for recording user items described in (3), is being locally created above-mentioned Version Control warehouse Copy, persistently monitor original version control warehouse and local replica warehouse between difference, discovery developer submit code change;
(5) comprehensively monitoring, measurement point are carried out with the execution for persistently disposing task in assembly line to continuous integrating described in (3) Analysis and record, history of forming information bank, monitoring, metric analysis and record content include code modification information and its context, generation Code changes corresponding continuous integrating and continues deployment task execution information;
(6) continuous integrating described in (3) is tracked with the file that outputs and inputs for persistently disposing task in assembly line, The input and output established between task and file are associated with and cache the file of task output, according to the input and output between task and file The dependence between task is further established in association;
(7) when finding the code change that developer described in (2) submits, institute in (3) is successively judged according to four decision surfaces It states continuous integrating and whether needs to be implemented, whether executes parallel with persistently disposing in assembly line for task and determine times needed to be implemented The parameter and configuration of business: task execution rule, b. described in (2) of a. user's selection and configuration are based on the letter of history described in (5) The anticipation of the machine learning decision model in library is ceased as a result, dependence between task described in c. (6), task described in d. (6) The change of input file;
In the technical scheme, according to the development language used, Development Framework be to can be accessed in open cooperation platform Classification of the items, from the dependence extracted in the configuration file of sorted each intermediate item between common task and its information, task Relationship, the mission bit stream include the title of task, the parameter of task and configuration, and the parameter of the task and configuration include task The tool of dependence, the parameter of tool and configuration, using between these tasks and its information, task dependence building continuous integrating with Persistently dispose line task library and template library.
In the technical scheme, the configuration process of assembly line includes:
User items are matched in line task library and pipeline configuration template library uses development language, Development Framework, Recommend pipeline configuration template to user according to matching result;
User carries out selection adjustment, and needing with reference to task library supplement for task to the pipeline configuration of recommendation.
Preferably, the code modification information includes the author that code changes and the author that submitter, code change and mentions The business experience technical ability of friendship person, the type of code change (including main code class, text class, test class, other), it is each type of Line number (addition with delete line number), number that file, the change file of change are changed in the recent period, the change of change file last time Whether author is identical as this as submitter, the continuous integrating that change file is related in the recent period and lasting deployment task number.
Preferably, the change of code described in technical solution context includes the number of recent code change, recent generation The author's number and submitter's number of code change, the time of the last code change of distance, the last lasting deployment of distance and lasting collection At the time of task, the implementing result of last lasting deployment and continuous integrating task.
Preferably, the continuous integrating and lasting deployment task execution information include executing time and implementing result, described Continuous integrating and lasting deployment task implementing result include successfully and failing.
Relevant quantization method includes: in the technical solution
The information of scalar type and classifying type directly uses its numerical value and classification;
The experience of code change author and submitter quantify as follows:
Experience=(in history code submit number+addition and deletion lines of code of all categories) successfully continuous integrating with Persistently dispose number accounting
Preferably, a set of optional, configurable task execution rule described in the technical solution includes periodically executing Rule, maximum time interval executing rule, accumulation change scale executing rule, pipeline configuration change executing rule, Yong Huke One group of rule is configured for the execution of each task.
Above-mentioned periodicity executing rule are as follows:
Preset task executes period, task parameters and configuration, if code changes in the period, in end cycle, Other factors are not considered, with preset task parameters and configuration execution task.
Above-mentioned maximum time interval executing rule are as follows:
Maximum time interval, task parameters and the configuration that preset task executes, in maximum time interval, if code is sent out It has given birth to change and task was not performed, do not considered other factors, with preset task parameters and configuration execution task.
Scale executing rule is changed in above-mentioned accumulation are as follows:
Preset cumulative changes scale, task parameters and configuration, after last time task execution, source version control repository and local version After controlling library copy change accumulation to default scale, other factors are not considered, with preset task parameters and configuration execution task. Above-mentioned accumulation change scale is calculated with line number, distinguishes different types of change.
Above-mentioned pipeline configuration changes executing rule are as follows:
Preset task parameter and configuration after pipeline configuration is modifiable by the user, do not consider other factors, with preset task Parameter and configuration execution task.
In the technical scheme, for each task, pass through machine learning decision of the history information library training based on statistics Whether the code modification information and its context newly submitted, task parameters and configuration input model are obtained task execution by model There is abnormal anticipation.
The technical solution is in the execution decision to a task, consideration decision surface a first, if user's selection and configuration Rule hit, then execute the task;If do not hit, decision surface b is considered, if the anticipation result that decision model provides It is abnormal to there is greater probability to occur, then the task is executed, otherwise considers decision surface c, if depending on other tasks of the task It needs to be implemented, then executes the task.Finally, considering decision surface d, there is no becoming for the input file of executing if necessary for task The output file that the task is directly multiplexed caching is then skipped in change.
The continuous integrating of a kind of intelligent recommendation of the invention and automatic adjustment and pipeline system is persistently disposed, including following Module:
Continuous integrating and persistently deployment pipeline configuration template library and task library module, it is described lasting for constructing and managing It integrates and persistently disposes pipeline configuration template library, task library;
Continuous integrating and persistently deployment pipeline configuration module, for completing continuous integrating and persistently disposing matching for assembly line It sets;Based on process Graph editor, carried out with continuous integrating and persistently deployment pipeline configuration template library and the linkage of task library module The recommendation of configuration;
Code change monitoring and management module, for creating the local Version Control warehouse copy, trace sources version Control the change in warehouse, comparison change;
Mission Monitor, metric analysis and logging modle are used for code modification information, contextual information, task execution information Monitoring, metric analysis and record;
Historical information management module, for creating and managing history information library;
Assignment decisions module is completed rule-based, model, is appointed for managing optional, configurable task execution rule It is relied between business and the change of task input file carries out decision;
Task execution organization management module is used for management role executing agency, registration, task including task execution mechanism Issue, start and task input, output file tracking.
The advantages of the present invention over the prior art are that:
(1) the present invention provides continuous integratings and configuration template library and the task library of persistently disposing assembly line, and can root It is wanted according to the experience of project information recommended configuration template and task, the complexity and developer that greatly reduce configuration assembly line It asks;
(2) present invention can obtain automatically code change information and context, record code change information and up and down Literary and corresponding continuous integrating and the execution information for continuing deployment task, history of forming information bank, the library are developer to lasting It is integrated to be recalled with persistently deployment history, analyze and provide material, it is also that the task of intelligentized recommendation and automation is adjusted Establish basis;
(3) present invention carries out comprehensively monitoring, metric analysis with the execution for persistently disposing task in assembly line to continuous integrating, Facilitate developer continuous integrating understand with the decision in the process and the present invention persistently disposed and is voluntarily adjusted;
(4) the present invention is based on the statistical model of history training and to the metric analysis of current code change, adjust automatically stream The execution of task in waterline, while incorporating task and concurrently executing and task output file caching mechanism, reduce continuous integrating and holding Interference and resource overhead of the continuous deployment to developer, shorten the primary integrated execution time with deployment;
(5) present invention contains a group task executing rule, ensure that continuous integrating and the frequency persistently disposed not because of machine The fault of device learning decision model automatic decision and it is too low.
Detailed description of the invention
Fig. 1 is a kind of intelligent continuous integrating and the step process of persistently deployment pipelining technique embodiment of the invention Figure;
Fig. 2 is the structural block diagram of a kind of intelligent continuous integrating and persistently deployment pipeline system implementation of the invention.
Specific embodiment
In order to make the foregoing objectives, features and advantages of the present invention clearer and more comprehensible, with reference to the accompanying drawing and specific real Applying mode, the present invention is described in further detail.
Core of the invention thought be from the continuous integrating of numerous projects being accessed in open cooperation platform with hold General configuration is extracted in continuous deployment pipeline configuration, auxiliary user completes pipeline configuration, utilizes numerous sundry items and we The continuous integrating of the user items of method service executes progress with lasting deployment task with historical information, continuous integrating is persistently disposed Comprehensively monitoring, metric analysis and record and task execution rule, carry out continuing tune to continuous integrating and lasting deployment task It is whole, while involvement is shortened primary integrate and is held with what is disposed with caching mechanism, interference and resource overhead of the reduction to developer parallel The row time.
As shown in Figure 1, continuous integrating and the persistently deployment assembly line embodiment of a kind of intelligent recommendation of the present invention, automatic adjustment Step flow chart, may comprise steps of:
Step 101, building continuous integrating and lasting deployment configuration template library and task library;
With continuous integrating with continue the maturation of deployment tool and be widely used, developers have been written that it is a large amount of persistently It integrates and persistently disposes pipeline configuration, the present invention is quickly and efficiently configured using existing magnanimity configuration information assists developers The continuous integrating of new projects and persistently dispose assembly line.
In one preferred embodiment of the invention, the step 101 may include following sub-step:
Sub-step S11 collects the continuous integrating of bulk items and continues deployment configuration file and project information, the project Information includes development language, the Development Framework that project uses, such as Java language, Python, Spring frame, Django Frame, configuration file configuration file of deployment tool for continuous integrating used in project and persistently, such as Jenkins's The .travis.yml file of Jenkinsfile file, TravisCI.
Configuration file is carried out two-stage classification according to project information by sub-step S12, and first-level class is development language, second level It is classified as Development Framework;
Sub-step S13 parses these configuration files, therefrom extracts continuous integrating and continues deployment task title, task institute Dependence between the tool, tool parameters and configuration, the task that use proposes general task name by Mining Frequent individual event collection Title, tool, tool parameters and configuration, i.e. task propose general co-occurrence set of tasks by Mining Frequent multi itemset, that is, match Template is set, above-mentioned generality can be to be occurred in 5 percent or more project;
Above-mentioned task and configuration template and the classification belonging to them collectively form building continuous integrating and match with lasting deployment Set template library and task library.
Step 102, project information is obtained, continuous integrating is recommended and complete and persistently disposes pipeline configuration;
Continuous integrating used in project in same type and the persistently deployment configuration of assembly line are opposite different types of Project can be even more like, therefore the present invention obtains the information of user items, corresponding classification is found by project information, from this point Recommend pipeline configuration and task in class.User completes configuration under recommendation, can be modified in configuration process.
Step 103, a set of optional, configurable task execution rule is established, therefrom chooses and configure one for each task Group task executing rule;
In one preferred embodiment of the invention, the choosing in the step 103, configurable task execution rule packet It includes:
Periodical executing rule: preset task executes period, task parameters and configuration, if code becomes in the period More, in end cycle, other factors are not considered, with preset task parameters and configuration execution task, it is preferable that the period is with 24 For hour.
Maximum time interval executing rule: maximum time interval, task parameters and the configuration that preset task executes, in maximum In time interval, if code is changed and task was not carried out, other factors are not considered, with preset task parameters With configuration execution task, it is preferable that maximum time interval is for 12 hours.
Accumulate change scale executing rule: preset cumulative changes scale, task parameters and configuration, after last time task execution, After source version control repository and local version control library copy change accumulation to default scale, other factors are not considered, with preset Task parameters and configuration execution task.Preferably, for being accumulated over 50 rows test code.
Pipeline configuration changes executing rule are as follows: preset task parameter and configuration, after pipeline configuration is modifiable by the user, no Other factors are considered, with preset task parameters and configuration execution task.
Step 104, project version repository address is recorded, local replica is created, continues monitor code change;
In an embodiment of the present invention, it is preferable that illustrate step 104 for version control system in a distributed manner.
Above-mentioned Version Control warehouse is being locally created by clone in the Version Control warehouse address for recording user items Fork persistently monitors the difference between original version control warehouse and local replica warehouse, in real time according to the status information of local fork The commit newly submitted is synchronized to local fork by ground, difference when extracting latest edition and the integrated last time of code between version It is different.
Step 105, code modification information and contextual information, quantization, typing history information library are obtained;
In one preferred embodiment of the invention, in a distributed manner for version control system, the step 105 be can wrap Include following sub-step:
Sub-step S21 obtains new commit information, including for commit author and submitter, commit author and The business experience technical ability of submitter, the type of code change (including main code class, text class, test class, other), each type Line number (addition with delete line number), number that file, the change file of change are changed in the recent period, the change of change file last time Author it is whether identical as this as submitter, continuous integrating that change file is related in the recent period and continue deployment task number;
In the sub-step S21, the author and submitter of commit is using E-mail address as ID;
Sub-step S22 obtains commit contextual information, the author of quantity, recent commit including recent commit Several and submitter's number, the time of distance last time commit, distance be last persistently dispose and the time of continuous integrating task, on Whether primary lasting deployment and the execution of continuous integrating task succeed;
The information of sub-step S23, quantization commit information and commit contextual information, scalar type and classifying type directly makes With its numerical value and classification, by it, code submits number, addition and deletion to the experience of commit author and submitter in history Lines of code (distinguishing code classification) and successful continuous integrating quantify with persistently deployment number accounting;
Sub-step S24, it is preferable that by taking relevant database as an example, by the commit information and commit context of quantization Data input relevant database.
Step 106, the machine learning executed based on historical information for each task and its each configuration training mission Decision model;
In one preferred embodiment of the invention, it is preferable that the step is illustrated by taking Multiple regression model as an example 106, the independent variable of model is that the commit information of quantization and commit contextual information, predecessor task implementing result, task are held Row mean time consumption, task tool, tool parameters and configuration, the dependent variable of model are task execution success or not, are believed based on history The data in library are ceased, classical pattern fitting method, least square in training model are used.
In above-mentioned steps 106, it is preferable that new data entry after in history information library from last time model training reaches When to 20, the training of a model is carried out for each configuration of each task.
Step 107, when code library changes, the executing rule for matching each task carrys out the execution of decision task;
In above-mentioned steps 107, regular hit then executes the task with preset parameter and configuration.
Step 108, code modification information and its contextual information and task parameters and configuration are inputted into each task pair The decision model answered obtains the decision of task execution;
In above-mentioned steps 108, it is preferable that by taking 50% or more probability as an example, exception occur when implementing result prejudges Probability is greater than 50% and executes the task with corresponding task parameters and configuration.
Step 109, according to the execution for changing decision task relied between task and task inputs;
In above-mentioned steps 109, if other tasks dependent on the task need to be implemented, the task is executed;If There is no changing the output file then skipped the task and be directly multiplexed caching for the input file of needing to be implemented for task.
Step 110, task is executed, task execution information, quantization, typing history information library are obtained.
In one preferred embodiment of the invention, the step 110 may include following sub-step:
Sub-step S31, task transfer to automation task executive engine to complete, it is preferable that by taking Jenkins as an example, pass through The interface of the offer of Jenkins completes issuing and starting for task.
Sub-step S32 obtains the execution information of task, the implementing result of the execution time and task including task, described The implementing result of task includes successfully or failing;
The information of sub-step S33, quantification tasks execution information, scalar type and classifying type directly uses its numerical value and classification;
Sub-step S34, it is preferable that by taking relevant database as an example, by the task execution data input relationship type number of quantization According to library.
As shown in Fig. 2, a kind of intelligent continuous integrating of the invention and the structure for persistently disposing pipeline system embodiment Block diagram can specifically include with lower module:
Continuous integrating and persistently deployment pipeline configuration template library, task library module 201, for constructing and managing lasting collection At with lasting deployment pipeline configuration template library, task library.
Continuous integrating and persistently deployment pipeline configuration module 202, dispose for continuous integrating and persistently pipeline configuration;
Pipeline configuration indicates that above-mentioned module 202 is based on process Graph editor, with module 201 in a flowchart The dynamic recommendation configured.
Code change monitoring and management module 203, for creating local Version Control warehouse copy, trace sources version control The change in warehouse processed, comparison change.
Mission Monitor, metric analysis and logging modle 204, for code modification information, contextual information, task execution letter Monitoring, metric analysis and the record of breath.
Historical information management module 205, for creating and managing history information library.
Preferably, above-mentioned history information library is based on relevant database, includes two class entities in database, and one kind is to continue It integrates and persistently disposes process, one kind is continuous integrating and lasting deployment task, and the former with the latter is one-to-many relationship.
Assignment decisions module 206, for managing optional, configurable task execution rule, training mission decision model, And dependence and the change of task input file carry out decision between rule-based, model, task.
Task execution organization management module 207, is used for management role executing agency, registration including task execution mechanism, Mission dispatching, starting and task input, the management of output file.
Although preferred embodiments of the present invention have been described, it is created once a person skilled in the art knows basic Property concept, then additional changes and modifications can be made to these embodiments.So it includes excellent that the following claims are intended to be interpreted as It selects embodiment and falls into all change and modification of the scope of the invention.
Finally, it is to be noted that, herein, the terms "include", "comprise" or its any other variant are intended to Cover non-exclusive inclusion, so that the process, method, article or equipment for including a series of elements not only includes those Element, but also including other elements that are not explicitly listed, or further include for this process, method, article or setting Standby intrinsic element.In the absence of more restrictions, the element limited by sentence "including a ...", it is not excluded that There is also other identical elements in the process, method, article or apparatus that includes the element.
The present invention is described in detail above, specific case used herein is to the principle of the present invention and embodiment party Formula is expounded, the above embodiments are only used to help understand the present invention and its core concept;Meanwhile for ability The those skilled in the art in domain, according to the thought of the present invention, there will be changes in the specific implementation manner and application range, comprehensive Upper described, the contents of this specification are not to be construed as limiting the invention.

Claims (10)

1. a kind of intelligence and persistently disposes pipelining technique at continuous integrating, which comprises the following steps:
(1) continuous integrating of the project that can be accessed in open cooperation platform and persistently deployment configuration file are collected and what is used open Send out language, Development Framework information, building continuous integrating and persistently deployment line task library and configuration template library;
(2) for step (1) building continuous integrating with persistently dispose line task library in each single item task, establish it is a set of can Choosing, configurable task execution rule;
(3) development language, the Development Framework that the user items of service use, the development language used according to it, exploitation frame are obtained Frame, with persistently deployment line task library and configuration template library, recommends pipeline configuration from the continuous integrating that step (1) constructs Template and line task form the continuous integrating of user items and persistently dispose assembly line;
(4) above-mentioned Version Control warehouse is being locally created in the Version Control warehouse address of user items described in recording step (3) Copy, persistently monitor original version control warehouse and local replica warehouse between difference, discovery developer submit code change;
(5) comprehensively monitoring, measurement point are carried out with the execution for persistently disposing task in assembly line to the continuous integrating that step (3) are formed Analysis and record, history of forming information bank, monitoring, metric analysis and record content include code modification information and its context, generation Code changes corresponding continuous integrating and continues deployment task execution information;
(6) continuous integrating that step (3) are formed is tracked with the file that outputs and inputs for persistently disposing task in assembly line, The input and output established between task and file are associated with and cache the file of task output, according to the input and output between task and file The dependence between task is further established in association;
(7) in the code change that step (2) discovery developer submits, according to following four decision surface successively judgment step (3) Whether whether the continuous integrating of formation need to be implemented with persistently disposing in assembly line for task, execute parallel and determine to need to be implemented Task parameter and configuration, four decision surfaces are as follows: a. user selection and configuration the step of (2) building task execution rule Then, b. is based on the anticipation of the machine learning decision model for the history information library that step (5) are formed as a result, what c. step (6) was established Dependence between task, the change of the task input file of d. step (6) tracking.
2. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, it is characterised in that: the step Suddenly in (1), according to use development language, Development Framework to the classification of the items that can be accessed in open cooperation platform, from classification The dependence between common task and its information, task is extracted in the configuration file of each intermediate item afterwards;The task letter Breath includes title, the parameter of task and the configuration of task, and the parameter of the task and configuration include tool, the tool that task relies on Parameter and configuration, continuous integrating and persistently dispose assembly line using dependence building between the task and its information, task Task library and template library.
3. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, it is characterised in that: the step Suddenly in (2), a set of optional, configurable task execution rule includes:
(31) periodical executing rule: preset task executes period, task parameters and configuration, if code becomes in the period More, in end cycle, other factors are not considered, with preset task parameters and configuration execution task;
(32) maximum time interval executing rule: maximum time interval, task parameters and the configuration that preset task executes, in maximum In time interval, if code is changed and task was not performed, other factors are not considered, with preset task ginseng Number and configuration execution task;
(33) accumulate change scale executing rule: preset cumulative changes scale, task parameters and configuration, after last time task execution, After source version control repository and local version control library copy change accumulation to default scale, other factors are not considered, with preset Task parameters and configuration execution task, the accumulation change scale are calculated with line number, distinguish different types of change;
(34) pipeline configuration changes executing rule: preset task parameter and configuration after pipeline configuration is modifiable by the user, are not examined Other factors are considered, with preset task parameters and configuration execution task.
4. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, it is characterised in that: the step Suddenly in (5), the code modification information includes the author of code change and the industry of submitter, the author of code change and submitter Business experience technical ability, the type of code change, each type of line number, including the line number added with deleted, the file of change, change Number that file is changed in the recent period, the author of change file last time change and submitter and whether this identical, change file is close The continuous integrating and continue deployment task number that phase is related to.
5. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, it is characterised in that: the step Suddenly in (5), the code change context includes: the number of recent code change, author's number of recent code change and submission Time, time, the last time apart from last lasting deployment and continuous integrating task of the last code change of person's number, distance hold The implementing result of continuous deployment and continuous integrating task.
6. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, it is characterised in that: the step Suddenly in (5), the continuous integrating and lasting deployment task execution information include executing time and implementing result, the continuous integrating It include successfully and failing with lasting deployment task implementing result.
7. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, it is characterised in that: the step Suddenly in (5), correlation metric approach includes:
The information of scalar type and classifying type directly uses its numerical value and classification;
The experience of code change author and submitter quantify as follows:
Experience=(in history code submit number+addition and deletion lines of code of all categories) successfully continuous integrating and continue Dispose number accounting.
8. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, it is characterised in that: the step Suddenly in (7), the machine learning decision model based on history information library are as follows: be directed to each task, instructed by history information library Practice the model based on statistics, the code modification information and its context newly submitted, task parameters and configuration input model are obtained Whether task execution there is abnormal anticipation.
9. intelligence according to claim 1 and persistently disposes pipelining technique at continuous integrating, which is characterized in that the step Suddenly in (7), in the execution decision of a task, consideration decision surface a first, if the rule hit of user's selection and configuration, Then execute the task;If do not hit, decision surface b is considered, if the anticipation result that decision model provides is to have relatively probably There is exception in rate, then executes the task, otherwise considers decision surface c, if other tasks dependent on the task need to be implemented, Execute the task;Finally, considering decision surface d, there is no variations then to skip this for the input file of executing if necessary for task Task is directly multiplexed the output file of caching.
10. a kind of intelligence and persistently disposes pipeline system at continuous integrating, it is characterised in that: comprise the following modules:
Continuous integrating and persistently deployment pipeline configuration template library and task library module, for constructing and managing the continuous integrating With lasting deployment pipeline configuration template library, task library;
Continuous integrating and persistently deployment pipeline configuration module, the configuration for completing continuous integrating with persistently disposing assembly line; Based on process Graph editor, configured with continuous integrating and persistently deployment pipeline configuration template library and the linkage of task library module Recommendation;
Code change monitoring and management module, for creating the local Version Control warehouse copy, trace sources Version Control The change in warehouse, comparison change;
Mission Monitor, metric analysis and logging modle, for code modification information, contextual information, task execution information prison Control, metric analysis and record;
Historical information management module, for creating and managing history information library;
Assignment decisions module is completed between rule-based, model, task for managing optional, configurable task execution rule It relies on and the change of task input file carries out decision;
Task execution organization management module is used for management role executing agency, under registration, task including task execution mechanism Hair, starting and task input, the tracking of output file.
CN201810744917.0A 2018-07-09 2018-07-09 Intelligent continuous integration and continuous deployment pipeline method and system Active CN108958721B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810744917.0A CN108958721B (en) 2018-07-09 2018-07-09 Intelligent continuous integration and continuous deployment pipeline method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810744917.0A CN108958721B (en) 2018-07-09 2018-07-09 Intelligent continuous integration and continuous deployment pipeline method and system

Publications (2)

Publication Number Publication Date
CN108958721A true CN108958721A (en) 2018-12-07
CN108958721B CN108958721B (en) 2020-10-30

Family

ID=64483576

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810744917.0A Active CN108958721B (en) 2018-07-09 2018-07-09 Intelligent continuous integration and continuous deployment pipeline method and system

Country Status (1)

Country Link
CN (1) CN108958721B (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309343A (en) * 2020-02-20 2020-06-19 中国建设银行股份有限公司 Development deployment method and device
CN112256318A (en) * 2020-10-26 2021-01-22 上海云轴信息科技有限公司 Construction method and equipment for dependent product
CN112394949A (en) * 2020-12-03 2021-02-23 中国科学院软件研究所 Service version dynamic configuration method for continuous integration
CN112596854A (en) * 2020-12-15 2021-04-02 中国建设银行股份有限公司 Method and device for continuously integrating running of assembly line
CN113268332A (en) * 2021-06-09 2021-08-17 北京搜房科技发展有限公司 Continuous integration method and device
CN113434554A (en) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 Method and device for constructing continuous integration assembly line
CN113434264A (en) * 2021-07-14 2021-09-24 上海浦东发展银行股份有限公司 Intelligent processing method, device, equipment and storage medium for task components
CN113553163A (en) * 2021-08-31 2021-10-26 重庆允成互联网科技有限公司 Scheduler-based Jenkins application deployment method and device
CN113590114A (en) * 2021-08-12 2021-11-02 北京滴普科技有限公司 Assembly line arranging method and device and computer equipment
CN117435243A (en) * 2023-12-14 2024-01-23 南京掌控网络科技有限公司 Automatic package combination and deployment method and system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150052501A1 (en) * 2012-01-31 2015-02-19 Inbar Shani Continuous deployment of code changes
CN107463362A (en) * 2016-06-03 2017-12-12 北京京东尚科信息技术有限公司 The method and system of lasting deployment based on multiple Jenkins
CN107621944A (en) * 2017-09-22 2018-01-23 天翼电子商务有限公司 Continuous integrating pipeline system and its method based on automation O&M

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150052501A1 (en) * 2012-01-31 2015-02-19 Inbar Shani Continuous deployment of code changes
CN107463362A (en) * 2016-06-03 2017-12-12 北京京东尚科信息技术有限公司 The method and system of lasting deployment based on multiple Jenkins
CN107621944A (en) * 2017-09-22 2018-01-23 天翼电子商务有限公司 Continuous integrating pipeline system and its method based on automation O&M

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
田勇: "DevOps开发运维管理探析", 《金融科技时代》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309343A (en) * 2020-02-20 2020-06-19 中国建设银行股份有限公司 Development deployment method and device
CN111309343B (en) * 2020-02-20 2023-02-21 中国建设银行股份有限公司 Development deployment method and device
CN112256318A (en) * 2020-10-26 2021-01-22 上海云轴信息科技有限公司 Construction method and equipment for dependent product
CN112256318B (en) * 2020-10-26 2022-12-27 上海云轴信息科技有限公司 Construction method and equipment for dependent product
CN112394949B (en) * 2020-12-03 2022-04-22 中国科学院软件研究所 Service version dynamic configuration method for continuous integration
CN112394949A (en) * 2020-12-03 2021-02-23 中国科学院软件研究所 Service version dynamic configuration method for continuous integration
CN112596854A (en) * 2020-12-15 2021-04-02 中国建设银行股份有限公司 Method and device for continuously integrating running of assembly line
CN113268332A (en) * 2021-06-09 2021-08-17 北京搜房科技发展有限公司 Continuous integration method and device
CN113434554A (en) * 2021-06-30 2021-09-24 青岛海尔科技有限公司 Method and device for constructing continuous integration assembly line
CN113434264A (en) * 2021-07-14 2021-09-24 上海浦东发展银行股份有限公司 Intelligent processing method, device, equipment and storage medium for task components
CN113590114A (en) * 2021-08-12 2021-11-02 北京滴普科技有限公司 Assembly line arranging method and device and computer equipment
CN113553163A (en) * 2021-08-31 2021-10-26 重庆允成互联网科技有限公司 Scheduler-based Jenkins application deployment method and device
CN113553163B (en) * 2021-08-31 2023-07-07 重庆允丰科技有限公司 Deployment method and device for Jenkins application based on scheduler
CN117435243A (en) * 2023-12-14 2024-01-23 南京掌控网络科技有限公司 Automatic package combination and deployment method and system
CN117435243B (en) * 2023-12-14 2024-04-09 南京掌控网络科技有限公司 Automatic package combination and deployment method and system

Also Published As

Publication number Publication date
CN108958721B (en) 2020-10-30

Similar Documents

Publication Publication Date Title
CN108958721A (en) A kind of intelligence continuous integrating with persistently dispose pipelining technique and system
US7827122B1 (en) Data mining of unfiltered controller data
WO2016153962A1 (en) Methods and systems for predictive engine evaluation, tuning, and replay of engine performance
US20220358104A1 (en) Rules-based dataset cleaning
CN109376971A (en) A kind of load curve forecasting method and system towards power consumer
Derakhshan et al. Continuous Deployment of Machine Learning Pipelines.
KR20090046738A (en) Manufacturing prediction server
CN112597373A (en) Data acquisition method based on distributed crawler engine
US9424074B1 (en) Method for learning backup policies for large-scale distributed computing
CN110196711A (en) Plug-in type work order aid decision-making method and its system based on artificial intelligence
CN114154816A (en) Enterprise management system and execution method thereof
CN116542800A (en) Intelligent financial statement analysis system based on cloud AI technology
CN117522607A (en) Enterprise financial management system
CN118170658A (en) Software scale measurement method and system based on AI large model
Bellini et al. Graph databases methodology and tool supporting index/store versioning
Zheng et al. Dynamic scheduling for large-scale flexible job shop based on noisy DDQN
Figalist et al. An end-to-end framework for productive use of machine learning in software analytics and business intelligence solutions
CN117519656A (en) Software development system based on intelligent manufacturing
Siriweera et al. Constraint-driven dynamic workflow for automation of big data analytics based on graphplan
Abbas et al. Quality factors enhancement of requirement engineering: A systematic literature review
CN111325280A (en) Label generation method and system
CN111352820A (en) Method, equipment and device for predicting and monitoring running state of high-performance application
CN112148347A (en) Method and device for full-process traceability management
Rebmann et al. Recognizing task-level events from user interaction data
Jiang et al. A knowledge graph–based requirement identification model for products remanufacturing design

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant