CN107797914B - Code processing method and device and code release system - Google Patents

Code processing method and device and code release system Download PDF

Info

Publication number
CN107797914B
CN107797914B CN201610807131.XA CN201610807131A CN107797914B CN 107797914 B CN107797914 B CN 107797914B CN 201610807131 A CN201610807131 A CN 201610807131A CN 107797914 B CN107797914 B CN 107797914B
Authority
CN
China
Prior art keywords
container
code set
code
copy
environment
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.)
Active
Application number
CN201610807131.XA
Other languages
Chinese (zh)
Other versions
CN107797914A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610807131.XA priority Critical patent/CN107797914B/en
Publication of CN107797914A publication Critical patent/CN107797914A/en
Application granted granted Critical
Publication of CN107797914B publication Critical patent/CN107797914B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

The embodiment of the application discloses a code processing method, a code processing device and a code issuing system. The method comprises the following steps: constructing a container copy at least based on a code set and a development environment of the code set; constructing a first container at least according to the container copy, and testing the code set in the first container, wherein the container environment of the first container is matched with the development environment of the code set; if the code set passes the test, constructing a second container, and verifying the code set in the second container, wherein the container environment of the second container is matched with the production environment of the code set; and if the code set passes the verification, issuing the code set. By using the method or the device embodiment of the application, the consistency of the code running environment can be ensured, and the release efficiency of the code is improved.

Description

Code processing method and device and code release system
Technical Field
The present application relates to the field of computer software development and release technologies, and in particular, to a code processing method, device and code release system.
Background
The production process of computer software products generally needs three stages of development, testing and release. With the development of automation technology for software production, the conventional manual software production process has been transformed into a software automation production process from continuous integration to continuous deployment and continuous release. In the automatic software production process, continuous integration can continuously deliver the individual development part of the software to the whole part so as to find the problem of the individual development part as early as possible, and continuous deployment can deliver the development part to an operable test link as soon as possible so as to accelerate the development and complete the development and pass the test.
The existing software automated production process is mainly based on a virtual machine technology, and different software development projects or one software development project needs different test environments in different development stages, so that multiple machines or multiple virtual machines are usually required to complete the software automated production process. However, in the software product life cycle, due to the difference of the versions or the dependency relationships of the development and test application program installation packages, it is difficult for operation and maintenance personnel to ensure that the operation environments of the codes at all stages are the same. For example, if the online development environment operated by a developer is upgraded, the online development environment can be upgraded only by a maintenance person who performs manual operation, and if the maintenance person cannot unify the development environments in time, the test results of the online development environment and the offline development environment of the same code may have errors. In addition, the adoption of multiple machines or multiple virtual machines for software development not only increases maintenance cost, but also wastes hardware resources.
The running environments of all stages are difficult to ensure to be the same in the existing code processing process, and the software development is carried out by adopting a plurality of machines or a plurality of virtual machines, so that the maintenance cost is increased, and the hardware resources are wasted.
Disclosure of Invention
The embodiment of the application aims to provide a code processing method, a code processing device and a code release system, which can ensure the consistency of a code running environment and improve the release efficiency of codes.
The code processing method, the device and the code release system provided by the embodiment of the application are realized as follows:
a method of code processing, the method comprising:
constructing a container copy based on at least a code set and a development environment of the code set;
constructing a first container at least according to the container copy, and testing the code set in the first container, wherein the container environment of the first container is matched with the development environment of the code set;
if the code set passes the test, constructing a second container at least according to the container copy, and verifying the code set in the second container, wherein the container environment of the second container is matched with the production environment of the code set;
and if the code set passes the verification, issuing the code set.
A code processing apparatus, the apparatus comprising:
a container copy construction unit for constructing a container copy based on at least a code set and a development environment of the code set;
a code set testing unit, configured to construct a first container at least according to the container copy, and test the code set in the first container, where a container environment of the first container matches a development environment of the code set;
a code set verifying unit, configured to, if the code set passes the test, construct a second container at least according to the container copy, and verify the code set in the second container, where a container environment of the second container matches a production environment of the code set;
and the code set issuing unit is used for issuing the code set if the code set passes the verification.
A method of code processing, the method comprising:
constructing a container copy at least based on a code set and a development environment of the code set;
constructing a container from at least the container copy;
operating on the code set in the container.
A code processing apparatus, the apparatus comprising:
a container copy construction unit, configured to construct a container copy based on at least a code set and a development environment of the code set;
a container construction unit for constructing a container from at least the container copy;
a code set operating unit, configured to operate on the code set in the container.
A code issuing system includes an I/O interface, a code storage unit, a container copy storage unit, and a processor,
an I/O interface for receiving a set of subcodes; and issuing the code set if the verification result of the code set is verification passing;
the code storage unit is used for triggering and generating a first notification message when detecting that the code set is stored with a newly added sub-code set or the sub-code set in the code set is updated;
a container copy storage unit for storing container copies corresponding to code sets tested by the development environment;
a processor configured to construct a container replica based at least on a set of codes and a development environment for the set of codes; the system is further used for constructing a first container at least according to the container copy and testing the code set in the first container, wherein the container environment of the first container is matched with the development environment of the code set; the code set verification module is further used for constructing a second container at least according to the container copy if the code set passes the test, and verifying the code set in the second container, wherein the container environment of the second container is matched with the production environment of the code set; the code set is also used for issuing the code set if the code set passes verification; further configured to associate a version tag of the code set with the container copy if the code set passes the test; storing the container copy associated with the version tag to a container copy storage and triggering generation of a second notification message; constructing a second container based on the received second notification message.
According to the code processing method, the code processing device and the code release system, the container copy can be constructed based on the code set and the development environment of the code set, the code set and the development environment of the code set are transmitted in the container copy mode, and the code set is tested and verified in the container. The container copy containing the code set development environment information can ensure the consistency of the development environment and the test environment, and meanwhile, the container can ensure that the running environment of the code set is not influenced by the outside and the test result is accurate. The container technology provided by the application can operate a plurality of containers on a single machine, and the switching and transferring speed between the containers is high, so that not only can hardware resources be saved, but also the processing efficiency of codes can be improved. The code processing method provided by the application can integrate continuous integration, continuous deployment and code release in the software production life cycle into a platform which can be automatically realized.
Drawings
In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, it is obvious that the drawings in the following description are only some embodiments described in the present application, and for those skilled in the art, other drawings can be obtained according to the drawings without any creative effort.
FIG. 1 is a schematic diagram of an application scenario of a code processing method provided in the present application;
FIG. 2 is a schematic method flow diagram of one embodiment of a method for code processing provided herein;
FIG. 3 is a flowchart of a method of an embodiment of a development environment suitability determination method provided by the present application;
FIG. 4 is a schematic diagram illustrating a method flow diagram of one embodiment of a storage container replication method provided herein;
FIG. 5 is a method flow diagram of one embodiment of a method for handling a code set failure verification provided herein;
FIG. 6 is a method flow diagram of another embodiment of a code processing method provided herein;
FIG. 7 is a block diagram of an embodiment of a code processing apparatus provided herein;
FIG. 8 is a block diagram illustrating an embodiment of a code set validation unit provided herein;
FIG. 9 is a block diagram of another embodiment of a code processing apparatus provided herein;
fig. 10 is a schematic block diagram of another embodiment of a code processing apparatus provided in the present application.
Detailed Description
In order to make those skilled in the art better understand the technical solutions in the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
The method according to the embodiment provided by the present application is described below by a specific application scenario, and fig. 1 is a schematic diagram of an application scenario of the code processing method provided by the present application. In this scenario, the code development platform is constructed as a development platform based on the Docker technology without limitation for clarity in showing details of the present solution, however, it will be understood by those skilled in the art that the code development platform of the present solution may be any general or special purpose code development platform based on the container technology. The code set codes in fig. 1 may be a set of program codes corresponding to a single software development project, the single software development project may be completed by being divided into a plurality of subtasks, and accordingly, the code set codes may include a plurality of subtasks, wherein the subtask set corresponds to a subtask of the software development object. As shown in fig. 1, pushing a sub-code set a into a code library, the code library receiving the sub-code set a, after determining that a development environment of the sub-code set a meets a preset development condition, as shown in step 1, the code library updating the sub-code set a into code sets codes, and implementing continuous delivery and continuous integration of the sub-code set to the code set. The code base in this embodiment may store and update the code set, and may trigger generation of the notification message based on the storage dynamics of the code set. When the code base monitors that the child code sets in the code sets are updated, responding to the updating action, as shown in step 2, the code base triggers and generates a first notification message, and sends the first notification message to a code development platform. In an embodiment of the application, the code library may generate the first notification message through a preset callback function, and send the first notification message to a url address specified in a code development platform. The code development platform builds an image based on the first notification message and based on the code set codes and the development environment of the code set codes, as shown in step 3. In this embodiment, in order to correspond to the Docker technology development platform, the container copy is set as a mirror image without limitation, but it may be understood by those skilled in the art that the container copy of the present solution may be any base file for constructing a container. And 4, constructing a first container according to the mirror image, wherein the container environment of the first container is matched with the development environment of the code set codes. Based on the first container constructed in the step 4, the code set codes are tested in the first container in the step 5, and because the container environment of the first container is matched with the development environment of the code set codes, the application state of the code set codes in the development environment can be restored by testing the code set codes in the first container, and errors of test results caused by the fact that the test environment is not matched with the development environment are avoided. If the code set codes passes the test in the first container, as shown in steps 6 and 7, associating the image with a version tag of the code set codes, and storing the image associated with the version tag to an image memory for persistence. At this time, the code set codes can be acquired from the mirror image memory through the version tag, and in the subsequent software development process, the mirror image can be acquired at any time, a container with a container environment matched with the development environment is constructed, and the application state of the code set codes in the development environment is restored. Similar to the function of the code library, when monitoring that a new image storage exists, the image storage responds to the storage action, and in step 8, the image storage triggers generation of a second notification message and sends the second notification message to the code development platform. After receiving the second notification message, the code development platform may construct, in step 9, a second container based on at least the image, where a container environment of the second container matches a production environment of the code set codes. The production environment differs from the development environment in that the production environment is a customer-oriented operating environment and more importantly, environmental stability is emphasized. Finally, as shown in steps 10 and 11, the code set codes are verified in the second container, and if the code set codes are verified in the second container, the code set codes are issued to the terminal device, and the second container is used as a user operation container. Subsequently, the user may start the second container on the terminal device and operate on the code sets codes in the second container.
Based on the above-described specific application scenarios of the method according to the embodiment provided by the present application, the following describes the code processing method in detail with reference to the accompanying drawings. Fig. 1 is a schematic method flow diagram of an embodiment of a code processing method provided in the present application. Although the present application provides method steps as shown in the following examples or figures, more or fewer steps may be included in the method based on conventional or non-inventive efforts. In the case of steps where no necessary causal relationship exists logically, the order of execution of the steps is not limited to that provided by the embodiments of the present application. The method can be executed in the order of the embodiments or the method shown in the drawings or executed in parallel (for example, in the environment of a parallel processor or a multi-thread processing) in the actual code processing or when the method is executed.
Specifically, as shown in fig. 2, an embodiment of a code processing method provided in the present application may include:
s21: a container copy is constructed based on at least a code set and a development environment of the code set.
The implementation subject of this embodiment may be a code development platform based on a container technology, for example, the code development platform may be a development platform based on a Docker system. In this embodiment, after the code that passes the online compiling and testing of the software developer is uploaded to the code development platform, the code development platform may construct a container based on the code uploaded by the software developer, the container may provide a portable and completely isolated operating environment, and based on the operating environment provided by the container, the code may be tested, verified, and the like.
The code set in this embodiment may be a set of program codes corresponding to a single software development project. In an actual software development process, a development task of a single software development project is often divided into a plurality of subtasks and is commonly performed by a plurality of program developers. In this embodiment, program codes corresponding to subtasks are used as a subcode set, and after the subcode sets corresponding to all subtasks of the software development project are collected, a code set corresponding to the software development project is generated. In a code development platform, the code set is often subjected to operations such as testing and verification as a whole. The development environment of the code set may include an operating system, application software, a software environment database, and the like required for running the code set, for example, the operating system may be a Unix system, a Linux system, a Windows system, and the like, the application software may be simulation software for compiling and testing the code set, and the software environment database may be a software semi-finished code set, test data, a customer supply database, various document data, and the like. The container copy may be in a file form containing information such as the code set and a development environment of the code set, and the container copy may be used to create a container and start the container, and in a specific scenario, the container copy may be a mirror image in a Docker system. It should be noted that the container copy may be in a read-only storage form, and the container copy may start multiple containers, so that the operation of the container does not affect the contents stored in the container copy. Of course, in this embodiment, the container copy is not only constructed based on the code set and the development environment of the code set, but in another embodiment of the present application, the container copy may be further constructed based on the overall preset configuration parameters of the software development project.
Generally, in the software development process, the task of one development project is often completed by cooperation of multiple persons, and each person may participate in the development of multiple development projects at the same time, and multiple persons may upload the subcode sets to the code development platform multiple times every day. And after receiving the sub-code set, the code development platform stores or updates the sub-code set into a code set corresponding to the sub-code set, and tests, verifies and other operations are carried out on the code set.
For continuous uploading of code and complex code processing in the above scenario, in an embodiment of the present application, the building a container copy based on at least a code set and a development environment of the code set may include:
the container copy is constructed at least based on a code set and a development environment of the code set, and further based on a received first notification message, wherein the first notification message comprises a message which triggers generation when detecting that a new sub-code set is stored in the code set or the sub-code set in the code set is updated.
And the code development platform triggers and generates a first notification message when detecting that the code set stores a newly added sub-code set or the sub-code set in the code set is updated. In an embodiment of the application, the body triggering generation of the first notification message may be a code library for storing code sets, and the code library may manage the code sets corresponding to the development projects in order, where the code library monitors the dynamics of the code sets stored in the code library in real time. Specifically, when a new sub-code set is stored in the code set or a sub-code set in the code set is updated, the code library triggers generation of the first notification message. In a specific scenario, the first notification message may be pushed through a preset callback function, specifically, the callback function may be preset in a code library, and a specified action may be set to trigger the callback function to send the first notification message to a specified url address, where the specified action may include storing a new sub-code set in the code set or updating the sub-code set in the code set, and the callback function may include a webhook function in the Docker system.
In this embodiment, the container copy is constructed based on the received first notification message, and the processing efficiency of constructing the container copy can be improved in a scenario of continuous code uploading and a complex code processing process, so that the efficiency of continuous integration and continuous deployment of the development project is further improved.
In the process of completing the task of a development project by cooperation of a plurality of teams, the online development environments of program developers in the same team may not match with each other, and the online development environments can be represented by different development software, different operating systems, different databases and the like. The sub-code sets uploaded by the program developers are often the sub-code sets corresponding to the subtasks of the development projects and are also the subsets of the code sets corresponding to the development projects, and the mismatching of the development environments of the same code set may cause errors of test results, thereby affecting the development process of the development projects.
In this embodiment, further, the development environments of the sub-code sets all meet preset development conditions.
The preset development conditions can comprise preset development environments, the unified mechanism of the development environments of the sub-code sets can be realized through the preset development conditions, and errors of the test results of the code sets caused by the non-unified development environments of the sub-code sets are avoided. In an embodiment of the application, before the sub-code set is stored or updated into the code set, a matching judgment of the development environment may be performed to determine whether the development environment of the sub-code set meets a preset development condition. Specifically, fig. 3 is a flowchart of a method of an embodiment of a method for determining matching of development environments provided by the present application, and as shown in fig. 3, the method may include:
s31: and judging whether the development environment of the sub-code set triggering generation of the first notification message is matched with a preset development environment.
Before the sub-code set is stored or updated into the code set, whether the development environment of the sub-code set matches a preset development environment may be determined. In an embodiment of the application, the preset development environment may be a development environment preset for the job task. In another embodiment of the application, the preset development environment may be a development environment corresponding to a sub-code set uploaded to a code base by the development project for the first time.
S32: and when the judgment result is yes, storing or updating the sub-code set into the code set.
And when the judgment result is yes, the code development platform allows the sub-code set to be stored or updated into the code set, and of course, the implementation subject of the action can still be a code base in the code development platform. Subsequently, in another embodiment of the application, when the determination result is negative, the code development platform may return an error report to notify the program developer that the sub-code set is not allowed to be stored or updated in the code set due to mismatch of the development environments, and notify the program developer of the preset development environment, and the program developer may adjust the off-line development environment according to the error report, and upload again after the test is completed.
In the following, the method of the embodiment is described through a specific scenario, a program developer a participates in task development of a development project16, and the preset development environments of the development project16 are known as a Linux operating system, development software matlab8.0, and a customer supply database 2.0. In the development process of the developer A, the system automatically upgrades the development software to matlab8.5, and the developer A completes the development of the subtask of project16 in matlab8.5 to generate a subcode set A. After the sub-code set A is uploaded to a code development platform, a code library detects that the sub-code set is not matched with a preset development environment, an error report is sent to a first, and the version of development software of the sub-code set A is informed of the non-matching of the development software of the preset development environment. And the first step of degrading the developed software to matlab8.0 according to the error report, testing and modifying the sub-code set A again in the developed software matlab8.0 to generate a sub-code set B, and uploading the sub-code set B to the code development platform. After verifying that the development environment of the sub-code set B is matched with the preset development environment, the code library stores the sub-code set B to the code set corresponding to the development project 16.
In this embodiment, before the sub-code set is stored or updated into the code set, a matching judgment is performed on a development environment of the sub-code set and a preset development environment, and if the development environment of the sub-code set is matched with the preset development environment, the sub-code set is stored or updated into the code set, so that in a continuous delivery and continuous integration process in a software development process, consistency of the development environment corresponding to each sub-task of the development project can be ensured, and management efficiency of the development environment can be improved.
In the prior art, due to the difference of versions or dependency relations of software installation packages running in development and test, it is difficult to ensure that the running environments of the code sets of the development project at each stage are the same. In this embodiment, a container copy may be constructed based on a code set and a development environment of the code set, and the container copy may be used as a carrier for transmitting the code set and the development environment of the code set. In the subsequent code processing process, a container can be constructed through the container copy, and the code set is tested and verified in the container, so that the consistency of the development environment and the test environment of the code set can be ensured.
S22: and constructing a first container at least according to the container copy, and testing the code set in the first container, wherein the container environment of the first container is matched with the development environment of the code set.
After building a container copy based at least on the code set and a development environment for the code set, a first container may be built from at least the container copy and tested in the first container, the container environment for the first container matching the development environment for the code set. In an embodiment of the present application, the container copy may be a file system composed of a plurality of read-only layers, the read-only layers may be associated with each other, and in the process of constructing the first container based on the container copy, the read-only layer on the uppermost layer of the container copy may be set as a readable and writable layer, a new readable and writable file system is generated, the readable and writable file system is set in an isolated process space, and a necessary running process is provided in the process space, so that the first container is generated. The container may provide an isolated operating space for the code set, independent of other containers or environments outside of the container. In an embodiment of the application, building a test environment matched with the development environment of the code set in the first container can ensure that the operating environments of an operating system, application software, a database and the like used in the code development stage and the code test stage are consistent.
In the constructed first container, the code set may be tested, and in this embodiment, if the code set can achieve the task goal of the development project, it may be determined that the code set passes the test. For example, in one scenario, the task goal of the development project is that the user opening application a may automatically receive a bill with a reception delay of no more than 150 milliseconds, and if the test result is that the task goal of automatically receiving a bill when the user opens the application may be achieved by the code set, and the acceptance delay is 130 milliseconds, it may be determined that the code set passes the test. If the code set in the container copy fails or does not fully achieve the task goals of the development project, it may be determined that the code set in the container copy failed the test. For example, in the above scenario, although the test result is that the function that the user can automatically receive the bill by opening the application program can be realized by the code set, the acceptance delay is 200 milliseconds, and it can be determined that the code set fails the test.
In this embodiment, from the viewpoint of the structures of the container copy and the first container, the container copy is different from the first container in that the file layer of the container copy is a read-only layer, and the first container is based on the container copy and sets the uppermost file of the container copy as a readable and writable layer. Thus, after the first container is allocated with the isolated running process space, the first container can completely restore the information contained in the container copy, including the development environment of the code set. When the container environment of the first container is matched with the development environment of the code set, the code set is tested in the first container, the code set can be tested in the test environment consistent with the development environment, the application state of the code set in the development environment is restored, and the problem that the operation environments of the code set at various stages are different due to different versions or dependency relationships of operation software used for development and testing in the prior art is solved.
S23: and if the code set passes the test, constructing a second container at least according to the container copy, and verifying the code set in the second container, wherein the container environment of the second container is matched with the production environment of the code set.
If the code set can pass the test, that is, the task goal of the development project is achieved, a second container can be constructed, and the code set is verified in the second container, wherein the container environment of the second container is matched with the production environment of the code set. In the actual software development process, the development environment is an environment in which a program developer runs in a code development stage, the configuration of the development environment is relatively random, and the configuration can be set according to personal analysis of the developer, for example, the developer can upgrade running software to the latest version during each development test, or increase or decrease input parameters during the test of codes. The difference between the production environment and the development environment is that the production environment is a client-oriented running environment, and after the code set which passes the verification is issued to the client, the client verifies the code set in the production environment. The production environment may be a stability-based execution environment that is required by a customer, e.g., the execution software used in the production environment needs to be a relatively stable version, rather than requiring a latest version; the database in the production environment may be a relatively classical database provided by the user.
In this embodiment, although the container copy already contains the development environment information of the code set, in the process of constructing the second container according to the container copy, the configuration parameters of the production environment stored in advance may be read, and the container environment of the second container may be set according to the configuration parameters, so that the container environment of the second container matches the production environment.
After the second container is constructed, the code set may be validated in the second container. The verification process is similar to the process of the code set test, and the purpose is to verify whether the code set in the container copy can achieve the task goal of the development project, which is not described herein again.
In an embodiment of the present application, after the code set passes the test, a container copy corresponding to the code set may be further stored, and the container copy is persisted, fig. 4 is a flowchart of a method of storing a container copy according to an embodiment of the present application, and as shown in fig. 4, if the code set passes the test, constructing a second container according to at least the container copy may include:
s41: if the code set passes the test, associating a version tag of the code set with the container copy.
If the code set passes the test, a version tag of the code set may be associated with the container copy. The version label may be an information identifier including a version of the code set, and the version label may be used to distinguish code sets corresponding to different development projects, or code sets of different versions corresponding to the same development project. For example, for the development project described above, which is targeted for the task that the user opens the application program and can automatically receive bills, the version label of the first version code set is set to "ListV 1", and if the second improvement is performed on the third version code set, the version label of the code set improved this time may be set to "ListV 3.2".
S42: storing the container copy associated with the version tag to a container copy store and triggering generation of a second notification message.
S43: constructing a second container based on the received second notification message.
After associating the container copy with the version tag, the associated container copy may be stored to a container copy store. For example, in a code development platform based on the Docker system, an image may be stored in an image memory Registry of a container hub service platform. The container copy storage can store the version label and the container copy in a mode of a data table in an associated mode, one column in the data table can store the version label, the other column can store the container copy, and the associated version label and the container copy can be located on the same row. Of course, the way that the version label is associated with the container copy is not limited to the above examples, and other modifications are possible for those skilled in the art in light of the technical spirit of the present application, and are intended to be included within the scope of the present application as long as the functions and effects achieved by the version label are the same as or similar to those of the present application. In this manner, a container copy associated therewith can be obtained from the version tag.
In an actual scenario, the code development platform frequently uploads a container copy of each development project to the container storage, and the container copy contains a code set to be verified. For the above scenario in which the container storage frequently receives container copies, in an embodiment of the present application, the container copy storage may further trigger generation of a second notification message when detecting that a new container copy is stored. The second notification message may notify the code development platform to verify the code set. In a specific scenario, the sending of the notification message may be implemented by a preset callback function, specifically, the callback function may be preset in the container copy memory, and a specified action may be set to trigger the callback function to send the second notification message to a specified url address, where the specified action may include storing a new container copy in the container copy memory, and the callback function may include a webhook function in the Docker system, and the like.
In this embodiment, the container copy that passes the test may be associated with the version tag of the code set, and the associated container copy may be stored in a container copy storage, so as to perform persistence. Compared with the snapshot in the virtual machine in the prior art, the storage space of the container copy is smaller, and the speed of constructing the container is higher, so that the storage cost of the container copy is lower, and the utilization value is higher. In addition, after the container copy is stored, in the subsequent software development process, a container environment matched with the development environment can be constructed at any time, and the application state of the code set in the development environment is restored. Thus, the storage container copy not only pushes the continuous integration of software development to the code verification stage, but also further perfects the work of the test stage. Certainly, the container copy storage may trigger generation of the second notification message based on the received container copy associated with the version tag, and may advance the code set to be verified to enter the code verification stage as early as possible, thereby improving the verification efficiency of the code set and shortening the development period of the development project.
In this embodiment, after the code set passes the test, a second container may be constructed according to the container copy, and a container environment of the second container is set as a production environment, on one hand, in a software development process, an operating environment of the container may be set according to a development requirement, so as to embody flexibility of setting of the container environment; on the other hand, the constructed second container is based on the container copy, and the read-only property of the container copy can ensure the integrity of original information such as the code set contained in the container copy. Finally, the code set is verified in the second container, so that the conversion from test to production of the continuous integration of software development is realized, and the verification efficiency of the code set is improved.
S24: and if the code set passes the verification, issuing the code set.
And if the verification result of the code set is that the code set passes the verification, the code set can be issued. In this embodiment, if the code set can be verified, that is, the code set can achieve the task goal of the development project in the production environment, the code set of the development project may be issued to the user as the task delivery of the development project.
In one embodiment of the present application, the method may further include:
and if the code set passes the verification, taking the second container as a user operation container.
In this embodiment, a user may use the user operation container through a terminal device, and specifically, the user may check a verified code set corresponding to the development project in the user operation container, and may also verify the code set in the operation container to verify whether the code set can achieve a task target of the development project. In this embodiment, the task delivery of the development project can be accelerated by using the second container as the user operation container, and the user can perform online operation on the code set conveniently and obtain the operation result in time.
When the code set is not verified, the application may also provide a corresponding processing method, and fig. 5 is a flowchart of a method of an embodiment of the processing method for the code set that is not verified, as shown in fig. 5, the method may include:
s51: and if the code set is not verified, acquiring a historical version label with the generation time earlier than that of the version label from version historical information according to the version label of the code set.
The version history information in this embodiment may include a version tag corresponding to a code set that passes the test, and specifically, the version tag may be stored in a storage manner such as a data table or a linked list, and the version history information may also reflect a time sequence relationship for generating the version tag. If the verification result of the code set is that the verification is not passed, the historical version tag of which the generation time is earlier than that of the version tag can be obtained from the version historical information according to the version tag of the code set. The history version tag may be a tag whose generation time is closest to the generation time of the version tag, or may be a tag whose specified generation time is earlier than the generation time of the version tag.
S52: a container copy associated with the historical version label is extracted.
After obtaining the historical version label, a container copy associated with the historical version label may be extracted. For example, for the development project in which the user opens the application program and can automatically receive a bill, if the second improved code set "listv3.2" of the third version fails to be verified, the version label whose generation time is closest to the generation time of the version label "listv3.2" is acquired from the version history information as "listv3.1". From the container copy memory, a container copy associated with the version tag "listv3.1" may be extracted according to the version tag "listv3.1".
S53: and constructing a third container according to the extracted container copy, and taking the third container as a user operation container.
In this embodiment, after the container copy associated with the history version tag is completed, a third container may be constructed according to the extracted container copy, and the third container may be used as a user operation container. In one embodiment of the present application, a new container may be constructed from the container copy, with the new container being the third container. In another embodiment of the present application, an existing pause container constructed from the container copy may also be used as the third container. Containers may be reserved and suspended as separate operating spaces, and suspended containers may preserve the operating state when suspended and may be reactivated. The activated container is reallocated to run process space and is restored to a normal use state. At this time, the current container may be switched to the third container, and the third container may be used as the user operation container
In this embodiment, if the code set cannot be verified, the history version tag may be obtained according to version history information, the container copy associated with the history version tag is extracted, and a third container constructed according to the extracted container copy is used as the user operation container. Because the current container and the third container are operated in the same production environment and the switching and migration speed between the containers is high, the processing efficiency of code set release can be improved, and the occurrence probability of faults can be reduced.
According to the code processing method, a container copy can be constructed based on the code set and the development environment of the code set, the code set and the development environment of the code set are transmitted in the form of the container copy, and the code set is tested and verified in a container. The container copy containing the code set development environment information can ensure the consistency of the development environment and the test environment, and meanwhile, the container can ensure that the running environment of the code set is not influenced by the outside and the test result is accurate. The container technology provided by the application can operate a plurality of containers on a single machine, and the switching and transferring speed between the containers is high, so that not only can hardware resources be saved, but also the processing efficiency of codes can be improved. The code processing method provided by the application can integrate continuous integration, continuous deployment and code release in the software production life cycle into a platform which can be automatically realized.
In addition, the present application also provides another implementation of a code processing method, and fig. 6 is a flowchart of a method of another embodiment of the code processing method provided in the present application, and as shown in fig. 6, the method may include:
s61: constructing a container copy at least based on a code set and a development environment of the code set;
s62: constructing a container from at least the container copy;
s63: operating on the code set in the container.
For the specific implementation of S61-S63, reference may be made to the description of the implementation of S21-S24, which is not repeated here.
In one embodiment of the present application, the operating on the code set in the container may include:
setting a container environment of the container to match a development environment of the code set;
testing the code set in the container.
In an embodiment of the application, after the testing the code set in the container, the method may further include:
if the code set passes the test, setting a container environment of the container to be matched with a production environment of the code set;
validating the code set in the container.
In an embodiment of the application, after verifying the code set in the container, the method further comprises:
and if the code set passes the verification, issuing the code set and taking the container as a user operation container.
For the above embodiments of the method steps, reference may be made to the description of the embodiments of S3 and S4, which are not repeated herein.
According to the code processing method, a container copy can be constructed based on the code set and the development environment of the code set, the code set and the development environment of the code set are transmitted in the form of the container copy, and the code set is operated in a container. The container can prevent the running environment of the code set from being influenced by the outside and ensure accurate operation results. The container technology provided by the application can operate a plurality of containers on a single machine, and the switching and transferring speed between the containers is high, so that not only can hardware resources be saved, but also the processing efficiency of codes can be improved. The code processing method provided by the application can integrate continuous integration, continuous deployment and code release in the software production life cycle into a platform which can be automatically realized.
Based on the code processing method, the application also provides a code processing device. Fig. 7 is a schematic block diagram of an embodiment of a code processing apparatus provided in the present application, and as shown in fig. 7, the apparatus 70 may include:
a container copy construction unit 71, configured to construct a container copy based on at least a code set and a development environment of the code set;
a code set testing unit 72, configured to construct a first container according to at least the container copy, and test the code set in the first container, where a container environment of the first container matches a development environment of the code set;
a code set verification unit 73, configured to construct a second container if the code set passes the test, and verify the code set in the second container, where a container environment of the second container matches a production environment of the code set;
and a code set issuing unit 74, configured to issue the code set if the verification result of the code set verifying unit is that the code set passes verification.
The code processing device provided by the application can construct a container copy based on the code set and the development environment of the code set, transmit the code set and the development environment of the code set in the form of the container copy, and test and verify the code set in the container. The container copy containing the code set development environment information can ensure the consistency of the development environment and the test environment, and meanwhile, the container can ensure that the running environment of the code set is not influenced by the outside and the test result is accurate. The container technology provided by the application can operate a plurality of containers on a single machine, and the switching and transferring speed between the containers is high, so that not only can hardware resources be saved, but also the processing efficiency of codes can be improved. The code processing device provided by the application can integrate continuous integration, continuous deployment and code release in the software production life cycle into a platform which can be automatically realized, and compared with the prior art, the platform can reduce the time consumption of each development link and realize the high-efficiency automation and sustainable delivery of software development.
In an embodiment of the present application, the container copy construction unit 71 is further configured to: the container copy is constructed at least based on a code set and a development environment of the code set, and further based on a received first notification message, wherein the first notification message comprises a message which triggers generation when detecting that a new sub-code set is stored in the code set or the sub-code set in the code set is updated.
In this embodiment, the container copy is constructed based on the received first notification message, and the processing efficiency of constructing the container copy can be improved in a scenario of continuous code uploading and a complex code processing process, so that the efficiency of continuous integration and continuous deployment of a development project is further improved.
In an embodiment of the application, the development environments of the sub-code sets all satisfy a preset development condition.
In this embodiment, a unified mechanism of the development environment of the sub-code set can be realized through the preset development conditions, errors of the test result of the code set caused by non-uniformity of the development environment of the sub-code set are avoided, consistency of the development environment corresponding to each subtask of the development project can be ensured in continuous delivery and continuous integration processes in a software development process, and management efficiency of the development environment is improved.
Fig. 8 is a schematic block structure diagram of an embodiment of a code set verifying unit provided in the present application, and as shown in fig. 8, the code set verifying unit 73 may include:
a tag associating unit 81, configured to associate a version tag of the code set with the container copy if the code set passes the test;
a copy storage unit 82, configured to store the container copy associated with the version tag in a container copy storage, and trigger generation of a second notification message;
a second container constructing unit 83, configured to construct a second container based on the received second notification message.
In this embodiment, the container copy that passes the test may be associated with the version tag of the code set, and the associated container copy may be stored in a container copy storage, so as to perform persistence. Compared with the snapshot in the virtual machine in the prior art, the storage space of the container copy is smaller, and the speed of constructing the container is higher, so that the storage cost of the container copy is lower, and the utilization value is higher. In addition, after the container copy is stored, in the subsequent software development process, a container environment matched with the development environment can be constructed at any time, and the application state of the code set in the development environment is restored. Thus, the storage container copy not only pushes the continuous integration of software development to the code verification stage, but also further perfects the work of the test stage.
In an embodiment of the present application, fig. 9 is a schematic block structure diagram of another embodiment of the code processing apparatus provided in the present application, where the apparatus 90 includes not only the container copy building unit 71, the code set testing unit 72, the code set verifying unit 73, and the code set issuing unit 74, but also:
a history tag obtaining unit 91, configured to obtain, according to a version tag of the code set, a history version tag whose generation time is earlier than the version tag from version history information if the code set is not verified;
a container copy extraction unit 92 for extracting a container copy associated with the historical version tag;
a third container constructing unit 93, configured to construct a third container according to the extracted container copy, and use the third container as a user operation container.
In this embodiment, if the code set cannot be verified, the history version tag may be obtained according to version history information, the container copy associated with the history version tag is extracted, and a third container constructed according to the extracted container copy is used as the user operation container. Because the current container and the third container are operated in the same production environment and the switching and migration speed between the containers is high, the processing efficiency of code set release can be improved, and the occurrence probability of faults can be reduced.
In another embodiment of the present application, the apparatus may further include:
and the operation container setting unit is used for taking the second container as a user operation container if the code set passes the verification.
In this embodiment, the task delivery of the development project can be accelerated by using the second container as the user operation container, and the user can perform online operation on the code set conveniently and obtain the operation result in time.
In an embodiment of the present application, there is provided an implementation of a code processing apparatus, and fig. 10 is a schematic block structure diagram of another embodiment of the code processing apparatus provided in the present application, and as shown in fig. 10, the apparatus 100 may include:
a container copy construction unit 101, configured to construct a container copy based on at least a code set and a development environment of the code set;
a container construction unit 102 for constructing a container at least from the container copy;
a code set operating unit 103 configured to operate on the code set in the container.
The specific implementation of the structural units 101-103 can refer to the description of the implementation of S21-S24, and will not be described herein again.
In an embodiment of the present application, the code set operating unit 103 may include:
the development environment setting unit is used for setting the container environment of the container to be matched with the development environment of the code set;
a code set testing unit for testing the code set in the container.
In an embodiment of the present application, the code set operating unit 103 may further include:
a production environment setting unit, configured to set a container environment of the container to match a production environment of the code set if the code set passes the test;
a code set validation unit configured to validate the code set in the container.
In an embodiment of the present application, the code set operating unit 103 may further include:
and the code set issuing unit is used for issuing the code set and using the container as a user operation container if the code set passes verification.
The above embodiments of the structural units can refer to the descriptions of the embodiments of S23 and S24, and are not repeated here.
The code processing device provided by the application can construct a container copy based on a code set and a development environment of the code set, transmit the code set and the development environment of the code set in a container copy form, and operate the code set in a container. The container can prevent the running environment of the code set from being influenced by the outside and ensure accurate operation results. The container technology provided by the application can operate a plurality of containers on a single machine, and the switching and transferring speed between the containers is high, so that not only can hardware resources be saved, but also the processing efficiency of codes can be improved. The code processing device provided by the application can integrate continuous integration, continuous deployment and code release in the software production life cycle into a platform which can be automatically realized, and compared with the prior art, the platform can reduce the time consumption of each development link and realize the high-efficiency automation and sustainable delivery of software development.
Based on the code processing method and device of the embodiment of the application, the application also provides a code publishing system, which specifically comprises an I/O interface, a code storage unit, a container copy storage unit and a processor, wherein,
an I/O interface for receiving a set of subcodes; and issuing the code set if the verification result of the code set is verification passing;
the code storage unit is used for triggering and generating a first notification message when detecting that the code set is stored with a newly added sub-code set or the sub-code set in the code set is updated;
a container copy storage unit for storing container copies corresponding to code sets tested by the development environment;
a processor configured to construct a container replica based at least on a set of codes and a development environment for the set of codes; the system is further used for constructing a first container at least according to the container copy and testing the code set in the first container, wherein the container environment of the first container is matched with the development environment of the code set; the code set verification module is further used for constructing a second container at least according to the container copy if the code set passes the test, and verifying the code set in the second container, wherein the container environment of the second container is matched with the production environment of the code set; the code set is also used for issuing the code set if the code set passes verification; further configured to associate a version tag of the code set with the container copy if the code set passes the test; storing the container copy associated with the version tag to a container copy storage and triggering generation of a second notification message; constructing a second container based on the received second notification message.
The code release system provided by the application can construct a container copy based on the code set and the development environment information of the code set, transmit the code set and the development environment of the code set in the form of the container copy, and test and verify the code set in a container. The container copy containing the code set development environment information can ensure the consistency of the development environment and the test environment, and meanwhile, the container can ensure that the running environment of the code set is not influenced by the outside and the test result is accurate. The container technology provided by the application can operate a plurality of containers on a single machine, and the switching and transferring speed between the containers is high, so that not only can hardware resources be saved, but also the processing efficiency of codes can be improved. The code release system provided by the application can integrate continuous integration, continuous deployment and code release in the software production life cycle into a platform which can be automatically realized.
Although the present application refers to the embodiments in the context of code integration, deployment, etc. such as building container copies, testing, validating code sets in a Docker container, etc., the present application is not limited to cases where code integration, deployment, etc. described by the embodiments or the code set testing, validating, etc. in a Docker container is essential. Certain embodiments that are slightly modified from those described in the continuously integrated and continuously deployed platforms or embodiments can also perform the same, equivalent or similar, or other predictable results of the embodiments described above. Of course, even if the above-described manner of code integration and deployment is not adopted, the same application can still be implemented as long as the container copy is constructed, and the code set is tested and verified in the container according to the above-described embodiments of the present application, and details are not described herein again.
Although the present application provides method steps as described in an embodiment or flowchart, more or fewer steps may be included based on conventional or non-inventive means. The order of steps recited in the embodiments is merely one manner of performing the steps in a multitude of orders and does not represent the only order of execution. In practice, the method or client product may be executed sequentially or in parallel (e.g., in the context of parallel processors or multi-threaded processing) according to embodiments or the method shown in the figures.
The units, devices and systems illustrated in the above embodiments may be implemented by a computer chip or an entity, or implemented by an article with certain functions. For convenience of description, the above devices are described as being divided into various modules by functions, and are described separately. Of course, the functionality of the various modules may be implemented in the same one or more software and/or hardware implementations as the present application. Of course, a module that implements the same function may also be implemented by multiple sub-modules or a combination of sub-modules in a unit module described in this application.
Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may therefore be considered as a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the respective functions may be regarded as being structures within both software modules and hardware components of the implementing means.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, classes, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
From the above description of the embodiments, it is clear to those skilled in the art that the present application can be implemented by software plus necessary general hardware platform. Based on such understanding, the technical solutions of the present application may be embodied in the form of a software product, which may be stored in a storage medium, such as a ROM/RAM, a magnetic disk, an optical disk, or the like, and includes several instructions for enabling a computer device (which may be a personal computer, a mobile terminal, a server, or a network device) to execute the apparatus according to the embodiments or some parts of the embodiments of the present application.
The embodiments in the present specification are described in a progressive manner, and the same or similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. The application is operational with numerous general purpose or special purpose computing system environments or configurations. For example: personal computers, server computers, hand-held or portable devices, tablet-type devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable electronic devices, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
While the present application has been described with examples, those of ordinary skill in the art will appreciate that there are numerous variations and permutations of the present application without departing from the spirit of the application, and it is intended that the appended claims encompass such variations and permutations without departing from the spirit of the application.

Claims (19)

1. A method of code processing, the method comprising:
constructing a container copy based on at least a code set and a development environment of the code set;
constructing a first container at least according to the container copy, and testing the code set in the first container, wherein the container environment of the first container is matched with the development environment of the code set;
if the code set passes the test, constructing a second container at least according to the container copy, and verifying the code set in the second container, wherein the container environment of the second container is matched with the production environment of the code set;
and if the code set passes the verification, issuing the code set.
2. The method of claim 1, wherein building a container copy based on at least a set of code and a development environment for the set of code comprises:
the container copy is constructed at least based on a code set and a development environment of the code set, and further based on a received first notification message, wherein the first notification message comprises a message which triggers generation when detecting that a new sub-code set is stored in the code set or the sub-code set in the code set is updated.
3. The method according to claim 2, wherein the development environments of the sub-code sets all satisfy a preset development condition.
4. The method according to any of claims 1-3, wherein constructing a second container from at least the container copy if the code set passes the test comprises:
if the code set passes the test, associating a version tag of the code set with the container copy;
storing the container copy associated with the version tag to a container copy storage and triggering generation of a second notification message;
constructing a second container based on the received second notification message.
5. The method according to any one of claims 1-3, further comprising:
and if the code set passes the verification, taking the second container as a user operation container.
6. The method of claim 4, further comprising:
if the code set is not verified, acquiring a historical version label with the generation time earlier than that of the version label from version historical information according to the version label of the code set;
extracting a container copy associated with the historical version label;
and constructing a third container according to the extracted container copy, and taking the third container as a user operation container.
7. A code processing apparatus, characterized in that the apparatus comprises:
a container copy construction unit for constructing a container copy based on at least a code set and a development environment of the code set;
a code set testing unit, configured to construct a first container at least according to the container copy, and test the code set in the first container, where a container environment of the first container matches a development environment of the code set;
a code set verifying unit, configured to, if the code set passes the test, construct a second container at least according to the container copy, and verify the code set in the second container, where a container environment of the second container matches a production environment of the code set;
and the code set issuing unit is used for issuing the code set if the code set passes the verification.
8. The apparatus of claim 7, wherein the container copy construction unit is further configured to: the container copy is constructed at least based on a code set and a development environment of the code set, and further based on a received first notification message, wherein the first notification message comprises a message which triggers generation when detecting that a new sub-code set is stored in the code set or the sub-code set in the code set is updated.
9. The apparatus according to claim 8, wherein the development environments of the sub-code sets each satisfy a preset development condition.
10. The apparatus according to any of claims 7-9, wherein the codeset validation unit comprises:
a tag associating unit, configured to associate a version tag of the code set with the container copy if the code set passes the test;
a copy storage unit, configured to store the container copy associated with the version tag in a container copy storage, and trigger generation of a second notification message;
a second container construction unit, configured to construct a second container based on the received second notification message.
11. The apparatus according to any one of claims 7-9, further comprising:
and the operation container setting unit is used for taking the second container as a user operation container if the code set passes the verification.
12. The apparatus of claim 10, further comprising:
a history tag obtaining unit, configured to obtain, according to a version tag of the code set, a history version tag whose generation time is earlier than that of the version tag from version history information if the code set is not verified;
a container copy extraction unit for extracting a container copy associated with the historical version tag;
and the third container constructing unit is used for constructing a third container according to the extracted container copy and taking the third container as a user operation container.
13. A method of code processing, the method comprising:
constructing a container copy at least based on a code set and a development environment of the code set;
constructing a container from at least the container copy;
and setting a container environment of the container to be matched with a development environment of the code set, and testing the code set in the container.
14. The method of claim 13, wherein after testing the code set in the container, the method further comprises:
if the code set passes the test, setting a container environment of the container to be matched with a production environment of the code set;
validating the code set in the container.
15. The method of claim 14, wherein after validating the code set in the container, the method further comprises:
and if the code set passes the verification, issuing the code set and taking the container as a user operation container.
16. A code processing apparatus, characterized in that the apparatus comprises:
a container copy construction unit, configured to construct a container copy based on at least a code set and a development environment of the code set;
a container construction unit for constructing a container from at least the container copy;
a code set operating unit configured to operate on the code set in the container;
the code set operating unit includes:
the development environment setting unit is used for setting the container environment of the container to be matched with the development environment of the code set;
a code set testing unit for testing the code set in the container.
17. The apparatus of claim 16, wherein the codeset operation unit further comprises:
a production environment setting unit, configured to set a container environment of the container to match a production environment of the code set if the code set passes the test;
a code set validation unit configured to validate the code set in the container.
18. The apparatus of claim 17, wherein the codeset operation unit further comprises:
and the code set issuing unit is used for issuing the code set and using the container as a user operation container if the code set passes verification.
19. A code distribution system is characterized by comprising an I/O interface, a code storage unit, a container copy storage unit and a processor, wherein,
an I/O interface for receiving a set of subcodes; and issuing the code set if the verification result of the code set is verification passing;
the code storage unit is used for triggering and generating a first notification message when detecting that the code set is stored with a newly added sub-code set or the sub-code set in the code set is updated;
a container copy storage unit for storing container copies corresponding to code sets tested by the development environment;
a processor configured to construct a container replica based at least on a set of codes and a development environment for the set of codes; the system is further used for constructing a first container at least according to the container copy and testing the code set in the first container, wherein the container environment of the first container is matched with the development environment of the code set; the code set verification module is further used for constructing a second container at least according to the container copy if the code set passes the test, and verifying the code set in the second container, wherein the container environment of the second container is matched with the production environment of the code set; the code set is also used for issuing the code set if the code set passes verification; further configured to associate a version tag of the code set with the container copy if the code set passes the test; storing the container copy associated with the version tag to a container copy storage and triggering generation of a second notification message; constructing a second container based on the received second notification message.
CN201610807131.XA 2016-09-07 2016-09-07 Code processing method and device and code release system Active CN107797914B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610807131.XA CN107797914B (en) 2016-09-07 2016-09-07 Code processing method and device and code release system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610807131.XA CN107797914B (en) 2016-09-07 2016-09-07 Code processing method and device and code release system

Publications (2)

Publication Number Publication Date
CN107797914A CN107797914A (en) 2018-03-13
CN107797914B true CN107797914B (en) 2021-04-09

Family

ID=61529905

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610807131.XA Active CN107797914B (en) 2016-09-07 2016-09-07 Code processing method and device and code release system

Country Status (1)

Country Link
CN (1) CN107797914B (en)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108537503A (en) * 2018-03-26 2018-09-14 西南电子技术研究所(中国电子科技集团公司第十研究所) software development management system
CN108829588B (en) * 2018-05-30 2021-12-07 北京顺丰同城科技有限公司 Processing method, deployment system and device for testing application program
CN110019145B (en) * 2018-06-19 2021-09-14 杭州数澜科技有限公司 Multi-environment cascading method and device for big data platform
CN109101269A (en) * 2018-08-30 2018-12-28 长沙软工信息科技有限公司 A kind of Software Delivery method and device, electronic equipment
CN110347389B (en) * 2019-07-19 2023-09-15 中国工商银行股份有限公司 Method, device and system for processing algorithm file
CN111737132B (en) * 2020-06-23 2024-05-17 携程商旅信息服务(上海)有限公司 Method, system, electronic device and storage medium for issuing project code data
CN112328213B (en) * 2020-09-29 2023-06-06 浪潮通用软件有限公司 Isolation method, equipment and medium for online software development process
CN112231233A (en) * 2020-11-20 2021-01-15 平安养老保险股份有限公司 Code test scheduling method and device, computer equipment and readable storage medium
CN113504937A (en) * 2021-06-07 2021-10-15 广发银行股份有限公司 Split type development deployment platform

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187500A (en) * 2015-08-07 2015-12-23 浪潮(北京)电子信息产业有限公司 Container-based distributed storage system deployment method
CN105224466A (en) * 2015-11-17 2016-01-06 广州亦云信息技术有限公司 A kind of integration test method based on Docker and system

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009704B2 (en) * 2012-09-07 2015-04-14 Red Hat, Inc. Application partitioning in a multi-tenant platform-as-a-service environment in a cloud computing system
US9690945B2 (en) * 2012-11-14 2017-06-27 International Business Machines Corporation Security analysis using relational abstraction of data structures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105187500A (en) * 2015-08-07 2015-12-23 浪潮(北京)电子信息产业有限公司 Container-based distributed storage system deployment method
CN105224466A (en) * 2015-11-17 2016-01-06 广州亦云信息技术有限公司 A kind of integration test method based on Docker and system

Also Published As

Publication number Publication date
CN107797914A (en) 2018-03-13

Similar Documents

Publication Publication Date Title
CN107797914B (en) Code processing method and device and code release system
EP3643049B1 (en) Edge devices and associated networks utilising microservices
CN107660289B (en) Automatic network control
US11169815B2 (en) Method and system for automation tool set for server maintenance actions
CN111694592A (en) Management method and system for project version release
CN108776643B (en) Target code merging control method and system based on version control process
CN102025778A (en) Software version upgrading work method based on Shell
CN106980565B (en) Upgrading process monitoring method and device
EP2888685A2 (en) Transaction-level health monitoring of online services
CN112395196B (en) Data job development test method, device, equipment, system and storage medium
CN112764753A (en) Project deployment method and device, electronic equipment and storage medium
CN108052336A (en) A kind of distributed software upgrade-system and its implementation
CN110007946B (en) Method, device, equipment and medium for updating algorithm model
CN112199355B (en) Data migration method and device, electronic equipment and storage medium
EP3320436A1 (en) System and method for provisioning cloud services across heterogeneous computing environments
CN110704082A (en) Continuous integration method and system for monitoring platform
CN111651352B (en) Warehouse code merging method and device
US20140053144A1 (en) Service environment upgrades based on upgrade health of service units
CN108920171A (en) Firmware update and device, electronic equipment
US12026082B2 (en) Infrastructure quality assurance framework
CN110764785B (en) Cloud platform tool chain and cloud platform operation and maintenance method for power industry based on open source assembly
CN114816969A (en) Test case generation method, device, equipment and storage medium
CN112231231A (en) Method, system and device for debugging cloud service
US20230259362A1 (en) Computer-implemented method for verifying a plurality of commits
CN110275699A (en) Code construction method, Serverless platform and object storage platform

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