WO2013135016A1 - 版本的构建系统及方法 - Google Patents

版本的构建系统及方法 Download PDF

Info

Publication number
WO2013135016A1
WO2013135016A1 PCT/CN2012/077219 CN2012077219W WO2013135016A1 WO 2013135016 A1 WO2013135016 A1 WO 2013135016A1 CN 2012077219 W CN2012077219 W CN 2012077219W WO 2013135016 A1 WO2013135016 A1 WO 2013135016A1
Authority
WO
WIPO (PCT)
Prior art keywords
version
server
build
command
test
Prior art date
Application number
PCT/CN2012/077219
Other languages
English (en)
French (fr)
Inventor
李涛
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to US14/371,842 priority Critical patent/US20140351792A1/en
Priority to EP12871073.8A priority patent/EP2790100A4/en
Publication of WO2013135016A1 publication Critical patent/WO2013135016A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration 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/368Test management for test version control, e.g. updating test cases to a new software version
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Definitions

  • the present invention relates to the field of wireless communications and the field of computers, and in particular, to a system and method for constructing a version.
  • Version builds in traditional R&D are usually small and singular, and are designed to quickly and accurately build a version to be tested.
  • DIY the requirement for version construction is to quickly build and host them "DIY”.
  • the software version of the idea Often these users are large in number, and there may be a large number of version build requests concurrently, and for the user, the version build is basically a way of remote build, done through the network.
  • the embodiment of the invention provides a system and a method for constructing a version to solve the problem that the existing version has a long construction time.
  • An embodiment of the present invention provides a version build system, where the system includes a master server, a version build server connected to the master server, and a version build machine connected to the version build server, where:
  • the master control server is configured to: generate a control command according to the obtained request, and send the control command to the version build server, and generate return receipt information according to the build information reported by the version build server, the control command Includes version build commands;
  • the version build server is configured to: deliver a version build command or a complete process command from the master server to the version controller, and report the build information fed back by the version builder to the master server;
  • the version build machine is configured to: build a software and hardware version according to the received version build command or the complete flow command from the version build server, and feed back the build information to the version build server.
  • control command further includes a version test command
  • the system further includes a version test server connected to the master server and a test machine connected to the version test server
  • the master server is further configured to: Sending the version test command to the version test server, and generating the receipt information according to the test information reported by the version test server
  • the version test server is configured to: send the test machine from the main Controlling the version test command of the server, and reporting the test information fed back by the test machine to the master server
  • the test machine is configured to: perform a software and hardware version according to the received version test command from the version test server Testing, and feeding back the test information to the version test server.
  • control command further includes a complete process command
  • master control server is further configured to: deliver the complete process command to the version build server, and receive the report reported by the version build server After the information is built, the version test command is sent to the version test server.
  • control command further includes a version submission command
  • master control server is further configured to: submit the current software and hardware version to the target path according to the version submission command.
  • the master control server is configured to: generate the control command according to the request input locally or the request input by the client or the request sent by the receiving terminal.
  • the version build machine includes a multi-system version build machine; the version build server is configured to: receive the version build command sent by the master control server, and allocate a version build machine for the version build command, The version build command is sent to the corresponding version build machine.
  • the test machine includes a multi-system test machine; the version test server is configured to: receive the version test command sent by the master control server, allocate a test machine for the version test command, and use the version The test command is sent to the corresponding test machine.
  • the master control server includes a logic control module, an internet-based control module, and a short message-based control module, where:
  • the Internet-based control module is configured to: receive a user request or a service request that is input by the user, and parse the user request or the service request, and send the information to the logic control module, where the service request includes two Secondary development business request;
  • the SMS-based control module is configured to: receive a short message sent by the user through the terminal, parse the short message, and send the short message to the logic control module;
  • the logic control module is configured to: receive the user input that is input locally, the analysis result sent by the Internet-based control module, or the analysis result sent by the SMS-based control module, and send the analysis according to the Internet-based control module As a result, the analysis result sent by the short message based control module or the locally input user request generates the control command in real time or timing.
  • the logic control module is further configured to: allocate an identifier for the user request or the service request, and save the file uploaded by the user or the receipt information generated by the master server according to the identifier.
  • the embodiment of the invention further provides a method for constructing a version, the method comprising:
  • the master server generates a control command according to the input request
  • the master control server sends the control command to the version build server, receives the build information reported by the version build server according to the control command, and generates a receipt according to the build information. information.
  • the method further includes:
  • the master control server sends the control command to the version test server, receives the test information reported by the version test server according to the control command, and generates a receipt according to the test information.
  • Information or
  • the master control server sends the control command to the version build server, and receives the build information reported by the version build server according to the control command, and sends the control command to the version test server.
  • the control command receives the test information reported by the version test server according to the control command, and generates the receipt information according to the test information; or
  • the control command is a version submission command, the master server submits the current software and hardware version to the target path according to the control command.
  • the generating, by the master server, the control command according to the input request includes:
  • the master control server generates the control command according to a local input or a remote input user request; or the master control server generates the control command according to a remotely input service request, where the service request includes a secondary development service request.
  • FIG. 1 is an overall structural diagram of an automated construction and automated test system according to an embodiment of the present invention
  • FIG. 2 is a flow chart of an automated construction and automated test system for performing services according to the present invention
  • FIG. 3 is a browser-based client according to an embodiment of the present invention
  • FIG. 4 is a flowchart of a service performed by a version build server according to an embodiment of the present invention
  • FIG. 1 is an overall structural diagram of an automated construction and automated test system according to an embodiment of the present invention
  • FIG. 2 is a flow chart of an automated construction and automated test system for performing services according to the present invention
  • FIG. 3 is a browser-based client according to an embodiment of the present invention
  • FIG. 4 is a flowchart of a service performed by a version build server according to an embodiment of the present invention
  • FIG. 5 is a flowchart of performing a service by a version test server according to an embodiment of the present invention.
  • the embodiment of the present invention proposes a system that can perform automated construction and automated testing through in-depth analysis of automated construction and automated testing services.
  • a high quality software installation version can be obtained more conveniently and efficiently.
  • it ensures that at any time and anywhere, as long as there is a need for version construction, it can realize all-weather, fully automatic version construction and automated test functions through the system of the invention, shortening the version build cycle, the personnel interaction cycle and reducing the cost overhead. Increased work efficiency.
  • An embodiment of the present invention provides a version build system, where the system includes a master server, a version build server connected to the master server, and a version connected to the version build server.
  • the build machine where:
  • the master control server is configured to generate a control command according to the obtained request, and send the control command to the version build server, and generate return receipt information according to the build information reported by the version build server, where the control command is generated.
  • the version build server is configured to send a version build command or a complete process command from the master server to the version controller, and report the build information fed back by the version builder to the master server;
  • the version build machine is configured to perform a software and hardware version build according to the received version build command or the complete process command from the version build server, and feed back the build information to the version build server.
  • control command may further include a version test command
  • the system further includes a version test server connected to the master control server and a test machine connected to the version test server; the master control server is further used to The version test command is sent to the version test server, and the receipt information is generated according to the test information reported by the version test server.
  • the version test server is configured to send the test machine to the test machine. Controlling the version test command of the server, and reporting the test information fed back by the test machine to the master server; the test machine is configured to perform a software and hardware version according to the received version test command from the version test server Testing, and feeding back the test information to the version test server.
  • control command may further include a complete process command; the master control server is further configured to deliver the complete process command to the version build server, and receive the report by the version build server. After the information is built, the version test command is sent to the version test server.
  • FIG. 1 it is an overall structural diagram of an automated build and automated test system in an embodiment of the present invention.
  • the system includes a master server 101, a version build server 102 and a version test server respectively connected to the master server 101. 103.
  • a version build machine connected to the version build server 102 and a test machine connected to the version test server 103, wherein:
  • the master control server is configured to generate a control command according to the obtained request, and send the control command to the version build server and/or the version test server, and according to the version
  • the configuration information reported by the configuration server or the test information reported by the version test server generates the receipt information, where the control command includes a complete process command, a version build command, and a version test command
  • the version build server is configured to The build machine sends a version build command or a complete process command from the master server, and reports the build information fed back by the version builder to the master server;
  • the version build machine is configured to perform a software and hardware version build according to the received version build command or the complete process command from the version build server, and feed back the build information to the version build server;
  • the version test server is configured to send a version test command from the master server to the test machine, and report the test information fed back by the test machine to the master server; Testing the software and hardware versions according to the received version test command from the version test server, and feeding back the test information to the version test server.
  • control command further includes a version submission command
  • master control server is further configured to submit the current software and hardware version to the target path according to the version submission command.
  • the above request includes a user request and a service request
  • the user request refers to a version build request, a version test request, etc.
  • the service request refers to a secondary development service request
  • the main control server is a total control command response, delivery, and result feedback device, and the main control server will parse the user request from the local, Internet, and SMS to generate specific control commands, or will be from the Internet.
  • the incoming service request is parsed to generate a specific control instruction, and the command is sent to the version build server or the version test server according to the specific instructions.
  • the return message is generated by the master server according to the specific result, and is fed back to the user through the local, network, and SMS control modules.
  • the above main control server includes a logic control module, an Internet-based (Internet)-based control module, and a short message-based control module; the Internet-based control module functions to allow users to access the control server and view information through the Internet access;
  • the client with the login password control is connected to the main control server via the Internet, and sends a request to the main control server, and the main control server parses and expands the related service after receiving the request. Users can view process information and related LOG information in real time through the Internet client.
  • the role of the SMS-based control module is to allow users to pass
  • the short message platform is used to implement control and information viewing on the main control server; the user sends a request to the number of the short message control module of the main control server through the short message of the mobile phone, and selects according to the short message reply of the short message module of the main control server, thereby triggering the version build and version Testing the business; at the same time relevant information and
  • the LOG information is sent to the user's mobile phone number via SMS.
  • the function of the logic control module is to provide local real-time control and local editable asynchronous control.
  • the real-time control allows the user to operate the master server in real time, and can perform real-time operations such as version build and automated test; editable asynchronous control, Allow users to edit configuration files, set up run scripts, run regularly, for example, users can set up automatic build and automated tests after work, and submit versions and reports. Users can view the progress and related log (LOG) information of each active task in real time.
  • the master control server is specifically configured to generate the control command according to the locally input request or the request input by the client or the request sent by the receiving terminal.
  • the client can be a browser-based client, allowing the user to log in to the master server using the client.
  • the client has a login interface. After the authenticated authorized user logs in to the master server, the user can be established and used.
  • the user data is used to build the version and upload the related files. It is also the feedback terminal of the result and version of the remote master server. From the client, you can see the result of the version build process and related LOG files. Download the version that was built on the master server.
  • the above version build server is used to receive the version build request of the master server, and concurrently process the related services of the version build.
  • the version build server parses out the external information required for version build based on the requested related data.
  • the relevant build data and files are created for this build, and the version build machine startup version build process is assigned; and the latest version generated by the version build machine and the associated LOG are received and placed in the appropriate data file and sent to the master server.
  • the above version build machine is a machine community that contains multiple build machines. Because multiple versions can be built at the same time, some builds are exclusive to certain resources of the system, so prepare multiple machines to handle the requirements of concurrent builds. At the same time, this machine community contains windows, mac, linux and other systems, the purpose is to meet the multi-system requirements of the version build.
  • Each version build machine can communicate with the version build server to communicate with it in time to transfer back the build version and LOG information.
  • the above version test server is used to receive the automated test request of the master server, concurrently located Manage the relevant business of automated testing.
  • the version test server establishes relevant data and files according to the request, allocates the test machine, and starts the automated test program for automated testing.
  • the test ends, the automated test report and related LOG of the test machine are received, placed in the appropriate data file, and sent to the master server.
  • test machine is a machine community that contains multiple test machines.
  • the test machine community contains several test machines for windows, mac and linux. The goal is to satisfy the concurrent execution of multiple test tasks.
  • Each test machine is connected to a version test server to communicate with it for timely delivery back to automated test reports and associated LOGs.
  • the above system can realize automatic version construction and automated software testing when building software versions and tests in the field of R&D and manufacturing, which shortens the development cycle.
  • it can also provide Internet-based services.
  • Internet-based services For the inconvenience of the environment, there is no Internet network.
  • Users can provide SMS-based services, enabling 24/7 regional support for software version builds and version quality assurance; also responding quickly to remote and local needs, saving staff interaction costs, increasing productivity and product quality.
  • the above system for high-end users and high-end user groups, can customize and expand the software according to their own preferences. At the same time, they can log in to the main control server through authorization, and complete the process of user-defined software from file to software version.
  • the embodiment of the invention further provides a method for constructing and testing a software and hardware version, the method comprising: Step 1: The main control server generates a control command according to the input request;
  • the step may include: generating, by the master control server, the control command according to a local input or a remotely input user request; or: the master control server generates the control command according to a remotely input service request, where the service request Includes secondary development business requests.
  • Step 2 When the control command is a version build command, the master control server sends the control command to the version build server, and receives the build information reported by the version build server according to the control command, and builds according to the Information generation receipt information.
  • the method may further include: when the control command is a version test command, the master control server sends the control command to the version test server, and receives test information reported by the version test server according to the control command, And generating a receipt information according to the test information; or
  • the master control server sends the control command to the version build server, and receives the build information reported by the version build server according to the control command, and sends the control command to the version test server.
  • the control command receives the test information reported by the version test server according to the control command, and generates the receipt information according to the test information; or, when the control command is a version submission command, the master server The control command submits the current software and hardware version to the target path.
  • the automatic control and automated test system of the present invention performs a flow chart of a service
  • the main control server includes a logic control module, an Internet-based control module, and a short message-based control module
  • the local logic logic control module is a master control server.
  • the core control module, the Internet-based control module and the SMS-based control module all rely on the logic control of the logic control module.
  • the process of conducting business of the system includes the following steps:
  • the logic control module acts as a logic control module running locally on the master server. It accepts local version build and automated test requests, and is responsible for displaying logs and other information. At the same time, it also accepts a local scheduled configuration operation mode, and the user edits
  • the configuration file can cause the logic control module to perform an operation at a certain time, for example, constructing a certain version at 1 o'clock in the evening and performing an automated test, and submitting the version to a certain path after the end;
  • the module can also receive uploaded data files, and is responsible for collecting information such as logs. It is also responsible for establishing user databases, storing user-uploaded code and configuration files, saving user version build requests, and creating a request for each version build request. A unique identifier that the client will use to access the corresponding data and information.
  • the Internet-based control module belongs to a server end in the B/S structure, and accepts a request sent by a user using a browser, and parses the request and processes it through a local logic control module;
  • the request includes a version build request, a version test request, a service request, etc., and the service request is a second development service request;
  • the SMS-based control module has a short message receiving and receiving terminal on the main control server, and can send an external short message while sending an external short message.
  • the short message is parsed, and processed according to the parsed content through a local logic control module; 204.
  • the local logic control module parses the local, Internet, and SMS request generation control commands.
  • the control command is mainly composed of the following four types: a complete process command, a version build command, a version test command, and a version commit command;
  • the core compilation interpretation and graphical environment are responsible for running the cross-platform visualization software installation package, which is full of files needed to run a minimal set of software installation packages.
  • step 08 generating a releaseable version build command according to the control command, and moving to step 08;
  • control command is a version build command, if yes, then turn to 206, if not, then go to 210;
  • the version build server accepts the version build command, coordinates the build process, and returns the version and log information to the master server.
  • the main control server accepts the submitted information to generate a receipt information
  • the master server obtains the built version from the version build server and generates the receipt information according to the analysis according to the transmitted information; the test report obtained from the version test server generates the receipt information according to the analysis;
  • the user can view the processing and results of the master server's request for the user.
  • control command is a version test command, if it is a version test command, then go to 211, otherwise go to 213;
  • the version test server accepts the version test command, coordinates the coordinating version test process, and returns the test report and log information to the main control server; and proceeds to step 209;
  • control command is a version submit command
  • submit the version received by the 208 master server to the related path and go to step 209.
  • the full process command will perform the entire process from version build, automated test to version submission.
  • the version build command only performs version build activities, and the version test command only performs automated version test.
  • Activity, version submission command only for version submission activities.
  • a flow chart of a browser-based client performing services according to an embodiment of the present invention includes the following steps:
  • the user data may be selected, and the relevant form is populated by the browser, and submitted to the Internet-based control module of the main control server.
  • the Internet-based control module establishes data information of the current user via the logic control module according to the content submitted by the user;
  • the related data and the file information and version construction information that has been submitted may be viewed through the process;
  • Both 302 and 303 can upload and delete files, code, and build configuration items through the 304 process.
  • the user can upload the modified code, configuration file, resource file, etc. to the relevant user database of the main control server through this process, and also upload control information and configuration items such as version build request to the main control.
  • Server can upload the modified code, configuration file, resource file, etc. to the relevant user database of the main control server through this process, and also upload control information and configuration items such as version build request to the main control.
  • Version and log acquisition When the 305 process ends, there will be a final software version and log information in the user database on the server. Users can view related file information through the data viewing interface, and download the generated new software version and log.
  • FIG. 4 it is a flowchart of a service performed by a version build server in an embodiment of the present invention, and the process includes the following steps: 401.
  • the version build command is delivered by the master server to the version build server; the version build server can determine a version build task and all external inputs required by the version build command.
  • the version build server may receive multiple version build instructions at the same time, and the version build server will be able to generate multiple version build processes to control the concurrent version build process.
  • the version build server After receiving the version build instruction, the version build server maintains its own version build process team J
  • the machine sends a version build instruction to go to 403, 404, 405 to execute; when the remaining version builder resources allow the current version build task, the version build server generates a new version build process and allocates the relevant version build resources.
  • the version build server will add the current version build task to the wait queue. When the version build resource is released, the queue waits for the task again. When the task is satisfied, Wait for this task to be taken out of the queue, establish a version build process and allocate related resources.
  • windows version builds the cluster to build windows version
  • mac version builds the cluster to build the mac version
  • the version build server selects a specific version build machine for version build based on the type of the current build version and the current type version build machine usage. Each version build machine has the required automated build tools and associated download upload tools built with the appropriate versions.
  • the version builder sends the built version to the version build server, and the version build server determines subsequent operations.
  • Subsequent operations typically involve generating a three-in-one or two-in-one package from a multi-platform software release, or submitting the software version directly to the master server.
  • FIG. 5 it is a flowchart of a service performed by a version test server in an embodiment of the present invention, and the process includes the following steps:
  • the version test command issued by the master server is delivered to the version test server;
  • the version test server can determine a version test task and all external inputs required by the version test command.
  • the version test server may receive multiple version test instructions at the same time, and the version test server will be able to generate multiple version test processes to control the concurrent version test process.
  • the version test server After receiving the version test command, the version test server maintains its own version test process team to coordinate the various test machines controlled by the test server; when the version test resource is allocated, the version test server sends a version test command to the relevant test machine. Go to 503, 504, 505 to execute;
  • the version test server When the remaining test machine resources allow for the current version test task, the version test server generates a new version test process and allocates the relevant resources. When the remaining version test resources do not allow the current version test task, the version test server adds the current version test task to the wait queue. When the version test resource is released, the queue waits for the task again. When the task is satisfied, Wait for this task to be taken out of the queue, establish a version test process and allocate related resources.
  • the version test server selects a specific test machine for automated testing based on the current test task. Each test machine has the automated test tools and associated download upload tools required for the corresponding version of the test.
  • test report The purpose of the automated test is to test the quality of the software version. The important output is the test report. After the automated test tool completes the automated test, a test report is generated and uploaded to the version test server.
  • the above software and hardware versions are built and tested to improve efficiency, shorten the development cycle, and achieve 24/7 automated version build and automated test services, effectively ensuring the quality of the build version.
  • the above-mentioned version of the build system and method is conducive to improving efficiency, shortening the development cycle, realizing all-weather automated version build and automated test services, effectively ensuring the quality of the build version.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

版本的构建系统及方法,该系统包括主控服务器、与主控服务器相连的版本构建服务器以及与版本构建服务器相连的版本构建机,其中:主控服务器设置为:根据获得的请求生成控制命令,将控制命令对应下发至版本构建服务器,以及根据版本构建服务器上报的构建信息生成回执信息,控制命令包括版本构建命令;版本构建服务器设置为:向版本构建机下发来自主控服务器的版本构建命令或完整流程命令,以及向主控服务器上报版本构建机反馈的构建信息;版本构建机设置为:根据接收的来自版本构建服务器的版本构建命令或完整流程命令进行软硬件版本的构建,并向版本构建服务器反馈构建信息。上述版本的构建系统及方法,有利于提高效率,缩短开发周期。

Description

版本的构建系统及方法
技术领域
本发明涉及无线通信领域及计算机领域, 尤其涉及一种版本的构建系统 及方法。
背景技术
当前, 随着科技的进步和信息化的不断发展, 计算机软件已经成为人们 生活中不可缺少的工具。 在通信领域, 设备制造商为用户生产制造设备并提 供相应的支撑软件。 在计算机领域, 软硬件公司为用户生产和制造众多的软 硬件产品。 随着产品的多元化和软硬件的版本越来越多, 人们对于产品的质 量要求越来越高。 在产品研发领域, 最大限度地缩短研发周期, 提高产品质 量, 强化对于市场的响应速度就显得尤为重要了。
通常在产品研发领域, 可能同时要应对多个需求项目, 会有多个输出。 以软硬件发布版本为例, 可能某个时刻需要同时发布数个项目的软硬件 版本, 或者某一时间段内需要发布某个或数个软硬件版本并且要保证功能可 以被正常使用。 通常的做法是, 版本制作人员制作相关版本, 首先自测没有 问题后提交流程, 然后由测试人员对此版本再进行测试, 这样一来一往可能 几天就过去了。 在这几天内研发人员无法完整掌握版本情况, 同时在这几天 内发布的其他版本可能会一并继承先前版本的故障, 造成版本交付的时间延 长和版本质量的不可控制性, 同时对于并发版本在处置上也会耗费颇多。
对于在异地的人员构建软硬件版本的情况, 通常情况下是要求本地相关 人员代为执行, 这样在沟通理解以及数据信息传递上往往会产生额外的时间 和精力的开销。
基于软硬件版本的成本和用户使用的双重考虑, 急需解决以下几个技术 问题:
1、 如何压缩版本构建时间, 快速处理并发版本构建需求, 支持全天候的 全球化版本构建需求。 2、 如何最大限度地提高所构建版本的质量和稳定性。
另外, 随着产品的多元化和软硬件的版本越来越多, 人们对于产品的质 量要求越来越高。 高端用户和团体也越来越多, 他们对于软硬件产品有着自 己的认识, 往往给予他们自我实现软硬件版本的机会将会进一步加深高端用 户和团体对于公司软硬件产品的质量和性能的认识。 在现在这个处处讲求 "DIY" 的时代, 软硬件产品也在向着 "DIY" 前进。 最大限度让用户自己掌 控软硬件产品, 允许他们加入自己的元素将会有助于软硬件产品的销售和获 取用户最大限度的支持和理解。
然而用户数量基数庞大, 传统的版本构建方式和流程不能满足如此庞大 基数的用户群组的需求。 在传统研发领域的版本构建通常情况下都是小规模 单一化的, 其目的是针对快速准确构建出待测试版本。 而对于高端用户和团 体来说, 当他们通过自己的理解和认识, 使用我们提供的工具或者接口函数 对软件进行了二次开发的时候, 对于版本构建的要求就是快速构建出承载他 们 "DIY" 想法的软件版本。 往往这些用户数量庞大, 可能同时并发有大量 的版本构建请求,而且对于用户来说版本构建基本都是釆取远程构建的方式, 通过网络完成的。
因此, 如何更广泛、 更充分地利用已有的软硬件进行二次开发也是急需 解决的又一问题。
发明内容
本发明实施例提供了一种版本的构建系统及方法, 以解决现有的版本构 建时间长的问题。
本发明实施例提供了一种版本的构建系统, 该系统包括主控服务器、 与 所述主控服务器相连的版本构建服务器以及与所述版本构建服务器相连的版 本构建机, 其中:
所述主控服务器设置为: 根据获得的请求生成控制命令, 将所述控制命 令对应下发至所述版本构建服务器, 以及根据所述版本构建服务器上报的构 建信息生成回执信息, 所述控制命令包括版本构建命令; 所述版本构建服务器设置为: 向所述版本构建机下发来自所述主控服务 器的版本构建命令或完整流程命令, 以及向所述主控服务器上报所述版本构 建机反馈的构建信息;
所述版本构建机设置为: 根据接收的来自所述版本构建服务器的版本构 建命令或完整流程命令进行软硬件版本的构建, 并向所述版本构建服务器反 馈所述构建信息。
优选地, 所述控制命令还包括版本测试命令, 所述系统还包括与所述主 控服务器相连的版本测试服务器以及与所述版本测试服务器相连的测试机; 所述主控服务器还设置为: 将所述版本测试命令对应下发至所述版本测 试服务器, 以及根据所述版本测试服务器上报的测试信息生成回执信息; 所述版本测试服务器设置为: 向所述测试机下发来自所述主控服务器的 版本测试命令, 以及, 向所述主控服务器上报所述测试机反馈的测试信息; 所述测试机设置为: 根据接收的来自所述版本测试服务器的版本测试命 令进行软硬件版本的测试, 并向所述版本测试服务器反馈所述测试信息。
优选地, 所述控制命令还包括完整流程命令; 所述主控服务器还设置为: 将所述完整流程命令对应下发至所述版本构建服务器, 以及在接收所述版本 构建服务器上报的所述构建信息后, 向所述版本测试服务器下发所述版本测 试命令。
优选地, 所述控制命令还包括版本提交命令, 所述主控服务器还设置为: 根据所述版本提交命令将当前软硬件版本提交至目标路径。
优选地, 所述主控服务器设置为: 根据本地输入的所述请求或者接收客 户端输入的所述请求或者接收终端发送的所述请求生成所述控制命令。
优选地, 所述版本构建机包括多系统的版本构建机; 所述版本构建服务 器设置为: 接收所述主控服务器发送的所述版本构建命令, 为所述版本构建 命令分配版本构建机, 将所述版本构建命令下发至对应的版本构建机。
优选地, 所述测试机包括多系统的测试机; 所述版本测试服务器设置为: 接收所述主控服务器发送的所述版本测试命令, 为所述版本测试命令分配测 试机, 将所述版本测试命令下发至对应的测试机。 优选地, 所述主控服务器包括逻辑控制模块、 基于互联网的控制模块和 基于短信的控制模块, 其中:
所述基于互联网的控制模块设置为: 接收用户通过客户端输入的用户请 求或业务请求, 对所述用户请求或所述业务请求进行解析后发送给所述逻辑 控制模块, 所述业务请求包括二次开发业务请求;
所述基于短信的控制模块设置为: 接收用户通过终端发送的短信, 对所 述短信进行解析后发送给所述逻辑控制模块;
所述逻辑控制模块设置为: 接收本地输入的所述用户请求、 所述基于互 联网的控制模块发送的解析结果或基于短信的控制模块发送的解析结果, 根 据所述基于互联网的控制模块发送的解析结果、 基于短信的控制模块发送的 解析结果或本地输入的所述用户请求实时或定时生成所述控制命令。
优选地, 所述逻辑控制模块还设置为: 为所述用户请求或业务请求分配 标识, 以及根据所述标识对应保存用户上传的文件或所述主控服务器生成的 所述回执信息。
本发明实施例还提供了一种版本的构建方法, 该方法包括:
主控服务器根据输入的请求生成控制命令;
当所述控制命令为版本构建命令时, 所述主控服务器向版本构建服务器 发送所述控制命令, 接收所述版本构建服务器根据所述控制命令上报的构建 信息, 并根据所述构建信息生成回执信息。
优选地, 所述方法还包括:
当所述控制命令为版本测试命令时, 所述主控服务器向版本测试服务器 发送所述控制命令, 接收所述版本测试服务器根据所述控制命令上报的测试 信息, 并根据所述测试信息生成回执信息; 或者
当所述控制命令为完整流程命令时, 所述主控服务器向版本构建服务器 发送所述控制命令, 接收所述版本构建服务器根据所述控制命令上报的构建 信息后向所述版本测试服务器发送所述控制命令, 接收所述版本测试服务器 根据所述控制命令上报的测试信息, 并根据所述测试信息生成回执信息; 或 者 当所述控制命令为版本提交命令时, 所述主控服务器根据所述控制命令 将当前软硬件版本提交至目标路径。
优选地, 所述主控服务器根据输入的请求生成控制命令包括:
所述主控服务器根据本地输入或远端输入的用户请求生成所述控制命 令; 或者, 所述主控服务器根据远端输入的业务请求生成所述控制命令, 所 述业务请求包括二次开发业务请求。 上述版本的构建系统及方法, 有利于提高效率, 缩短开发周期, 实现全 天候自动化的版本构建和自动化测试服务,有效地保证了所构建版本的质量。 附图概述
图 1为本发明实施例中的自动化构建和自动化测试系统的整体结构图; 图 2为本发明自动化构建和自动化测试系统进行业务的流程图; 图 3为本发明实施例中基于浏览器的客户端进行业务的流程图; 图 4为本发明实施例中版本构建服务器进行业务的流程图;
图 5为本发明实施例中版本测试服务器进行业务的流程图。
本发明的较佳实施方式
下文中将结合附图对本发明的实施例进行详细说明。 需要说明的是, 在 不冲突的情况下, 本申请中的实施例及实施例中的特征可以相互任意组合。
本发明实施例通过对自动化构建和自动化测试业务的深入分析, 提出了 一种可以执行自动化构建和自动化测试的系统, 依托此系统, 可以更加方便 和有效地获得高质量的软件安装版本。 同时确保了在任何时候任何地方, 只 要有版本构建的需要, 就可以通过本发明的系统实现全天候、 全自动的版本 构建和自动化测试功能, 缩短了版本构建周期、 人员交互周期同时缩减了成 本开销提升了工作效率。
本发明实施例提供了一种版本的构建系统, 该系统包括主控服务器、 与 所述主控服务器相连的版本构建服务器以及与所述版本构建服务器相连的版 本构建机, 其中:
所述主控服务器, 用于根据获得的请求生成控制命令, 将所述控制命令 对应下发至所述版本构建服务器, 以及根据所述版本构建服务器上报的构建 信息生成回执信息, 所述控制命令包括版本构建命令;
所述版本构建服务器, 用于向所述版本构建机下发来自所述主控服务器 的版本构建命令或完整流程命令, 以及向所述主控服务器上报所述版本构建 机反馈的构建信息;
所述版本构建机, 用于根据接收的来自所述版本构建服务器的版本构建 命令或完整流程命令进行软硬件版本的构建, 并向所述版本构建服务器反馈 所述构建信息。
另外, 所述控制命令还可以包括版本测试命令, 所述系统还包括与所述 主控服务器相连的版本测试服务器以及与所述版本测试服务器相连的测试 机; 所述主控服务器, 还用于将所述版本测试命令对应下发至所述版本测试 服务器, 以及根据所述版本测试服务器上报的测试信息生成回执信息; 所述 版本测试服务器, 用于向所述测试机下发来自所述主控服务器的版本测试命 令, 以及, 向所述主控服务器上报所述测试机反馈的测试信息; 所述测试机, 用于根据接收的来自所述版本测试服务器的版本测试命令进行软硬件版本的 测试, 并向所述版本测试服务器反馈所述测试信息。
优选地, 所述控制命令还可以包括完整流程命令; 所述主控服务器, 还 用于将所述完整流程命令对应下发至所述版本构建服务器, 以及在接收所述 版本构建服务器上报的所述构建信息后, 向所述版本测试服务器下发所述版 本测试命令。
如图 1所示, 为本发明实施例中的自动化构建和自动化测试系统的整体 结构图, 该系统包括主控服务器 101、 分别与所述主控服务器 101相连的版 本构建服务器 102和版本测试服务器 103、 与所述版本构建服务器 102相连 的版本构建机以及与所述版本测试服务器 103相连的测试机, 其中:
所述主控服务器, 用于根据获得的请求生成控制命令, 将所述控制命令 对应下发至所述版本构建服务器和 /或所述版本测试服务器, 以及根据所述版 本构建服务器上报的构建信息或所述版本测试服务器上报的测试信息生成回 执信息, 所述控制命令包括完整流程命令、 版本构建命令和版本测试命令; 所述版本构建服务器, 用于向所述版本构建机下发来自所述主控服务器 的版本构建命令或完整流程命令, 以及向所述主控服务器上报所述版本构建 机反馈的构建信息;
所述版本构建机, 用于根据接收的来自所述版本构建服务器的版本构建 命令或完整流程命令进行软硬件版本的构建, 并向所述版本构建服务器反馈 所述构建信息;
所述版本测试服务器, 用于向所述测试机下发来自所述主控服务器的版 本测试命令, 以及, 向所述主控服务器上报所述测试机反馈的测试信息; 所述测试机, 用于根据接收的来自所述版本测试服务器的版本测试命令 进行软硬件版本的测试, 并向所述版本测试服务器反馈所述测试信息。
另外, 所述控制命令还包括版本提交命令, 所述主控服务器, 还用于根 据所述版本提交命令将当前软硬件版本提交至目标路径。
上述请求包括用户请求和业务请求, 用户请求指版本构建请求、 版本测 试请求等; 业务请求指二次开发业务请求等;
在上述系统中, 主控服务器是一个总的控制命令响应、 下发、 结果反馈 的装置, 主控服务器将从本地、 互联网、 短信来的用户请求经过解析生成具 体的控制指令, 或者将从互联网来的业务请求解析生成具体的控制指令, 并 根据这些具体的指令向版本构建服务器或版本测试服务器进行命令下发。 待 下方的版本构建或测试服务器反馈后, 根据具体结果由主控服务器生成回执 消息, 经由本地、 网络、 短信控制模块反馈给用户。
上述主控服务器包括逻辑控制模块、 基于互联网 (Internet ) 的控制模块 和基于短信的控制模块; 基于 Internet 的控制模块的作用是允许用户通过 Internet访问来实现对主控服务器的控制和信息察看; 用户通过带有登陆口令 控制的客户端经 Internet连接到主控服务器, 向主控服务器发送请求, 主控服 务器收到请求后进行解析展开相关的业务。 用户可以通过互联网客户端实时 察看过程信息和相关 LOG信息。基于短信的控制模块的作用是允许用户通过 短信平台来实现对主控服务器的控制和信息察看; 用户通过手机短信向主控 服务器的短信控制模块的号码发送请求 , 根据主控服务器短信模块的短信回 复来进行选择, 进而触发版本构建和版本测试业务; 同时相关的结果信息和
LOG信息通过短信发送到用户的手机号码上。 该逻辑控制模块的作用是提供 本地的实时控制和本地的可编辑异步控制, 实时控制允许用户实时地对主控 服务器做出操作, 可以进行版本构建和自动化测试等实时操作; 可编辑异步 控制, 允许用户编辑配置文件, 设置运行脚本, 定时运行, 例如用户可以设 置在下班后进行自动构建和自动化测试, 同时提交版本和报告。 用户可以实 时地查看各个活跃任务的相关进度和有关日志 (LOG )信息。
其中, 所述主控服务器, 具体用于根据本地输入的所述请求或者接收客 户端输入的所述请求或者接收终端发送的所述请求生成所述控制命令。 上述 客户端可以为基于浏览器的客户端,允许用户使用客户端登陆到主控服务器, 客户端上有登录界面, 经过身份核对的授权用户登录到主控服务器后, 将可 以建立和使用已经建立的用户数据进行版本的构建和相关文件的上传工作, 同时也是远端主控服务器结果和版本的反馈终端, 从客户端上可以看到版本 构建的过程结果和相关的 LOG文件,通过客户端可以下载主控服务器上完成 构建的版本。
上述版本构建服务器用来接收主控服务器的版本构建请求, 并发地处理 版本构建的相关业务。 当主控服务器的版本构建请求到达, 版本构建服务器 根据请求的相关数据解析出版本构建所需的外部信息。 针对本次构建建立相 关的数据和文件, 分配版本构建机启动版本构建过程; 以及接收版本构建机 生成的最新版本和相关 LOG, 放在适合的数据文件中, 发送至主控服务器。
上述版本构建机是一个机器群落, 包含了多台版本构建机器。 因为同时 能进行多个版本的构建, 有些构建对系统某些资源是独占的, 因此预备多台 机器可以处理并发构建的需求。同时这个机器群落包含了 windows, mac, linux 等多个系统的机器, 目的就是满足版本构建的多系统的要求。 每个版本构建 机都与版本构建服务器连接可以与之进行通信, 以便及时传送回所构建的版 本和 LOG信息。
上述版本测试服务器用来接收主控服务器的自动化测试请求, 并发地处 理自动化测试的相关业务。 当主控服务器的自动化测试请求到达, 版本测试 服务器根据请求建立相关的数据和文件, 分配测试机, 启动自动化测试程序 进行自动化测试。 当测试结束接收测试机的自动化测试报告和相关 LOG, 放 在适合的数据文件中, 发送至主控服务器。
上述测试机是一个机器群落, 包含了多台测试机器。 测试机群落里面包 含了 windows, mac和 linux等系统的测试机器各若干台。 目的是为了满足多 个测试任务的并发执行。 每个测试机都与版本测试服务器连接可以与之进行 通信, 以便及时传送回自动化测试报告和相关 LOG。
上述系统在研发和制造领域构建软件版本和测试时可以实现自动化的版 本构建和自动化的软件测试, 缩短了开发周期; 同时对于异地用户, 还可以 提供基于 Internet的服务, 对于环境不便没有 Internet网络的用户可以提供基 于短信的服务, 使得对于软件版本的构建和版本质量的保证方面做到了全天 候的全地域的支持; 也可以快速响应远端和本地的需求, 节省人员交互沟通 的成本, 提高生产率和产品质量。 上述系统, 对于高端用户和高端用户团体 可以根据自己的喜好对软件进行自定义的开发和扩展, 同时还可以通过授权 登录到主控制服务器, 完成用户自定义软件从文件到软件版本的过程。
本发明实施例还提供了一种软硬件版本的构建和测试方法,该方法包括: 步骤一、 主控服务器根据输入的请求生成控制命令;
该步骤可以包括: 所述主控服务器根据本地输入或远端输入的用户请求 生成所述控制命令; 或者, 所述主控服务器根据远端输入的业务请求生成所 述控制命令, 所述业务请求包括二次开发业务请求。
步骤二、 当所述控制命令为版本构建命令时, 所述主控服务器向版本构 建服务器发送所述控制命令, 接收所述版本构建服务器根据所述控制命令上 报的构建信息, 并根据所述构建信息生成回执信息。
另外, 该方法还可以包括: 当所述控制命令为版本测试命令时, 所述主 控服务器向版本测试服务器发送所述控制命令, 接收所述版本测试服务器根 据所述控制命令上报的测试信息, 并根据所述测试信息生成回执信息; 或者, 当所述控制命令为完整流程命令时, 所述主控服务器向版本构建服务器发送 所述控制命令, 接收所述版本构建服务器根据所述控制命令上报的构建信息 后向所述版本测试服务器发送所述控制命令, 接收所述版本测试服务器根据 所述控制命令上报的测试信息, 并根据所述测试信息生成回执信息; 或者, 当所述控制命令为版本提交命令时, 所述主控服务器根据所述控制命令将当 前软硬件版本提交至目标路径。
如图 2所示, 本发明自动化构建和自动化测试系统进行业务的流程图, 该主控服务器包括逻辑控制模块、基于 Internet的控制模块和基于短信的控制 模块, 本地逻辑逻辑控制模块是主控服务器的核心控制模块, 基于 Internet 的控制模块和基于短信的控制模块都依赖于逻辑控制模块的逻辑控制。 该系 统进行业务的过程包括以下步骤:
201、逻辑控制模块作为主控服务器本地运行的逻辑控制模块, 它接受本 地的版本构建和自动化测试请求, 并且负责显示日志等信息, 同时它还接受 本地的预约式的配置运行方式, 用户通过编辑配置文件可以使得逻辑控制模 块在某一时刻进行某项操作, 比如在晚上 1点构建某一版本并且进行自动化 测试, 结束后将版本提交至某路经;
另外, 该模块还可以接收上传的数据文件, 并且负责日志等信息的收集, 同时还负责建立用户数据库, 存储用户上传的代码和配置文件, 保存用户版 本构建请求, 为每一个版本构建请求建立一个唯一的标识, 客户端将通过这 个唯一的标识来访问对应的数据和信息。
202、 基于 Internet的控制模块, 属于 B/S结构中的服务器端, 它接受用 户使用浏览器(Browser )发送的请求, 将请求解析后通过本地的逻辑控制模 块进行处理;
该请求包括版本构建请求、 版本测试请求和业务请求等, 业务请求如二 次开发业务请求;
203、基于短信的控制模块在主控服务器上有个短信收发终端, 能够接收 外部短信的同时向外部发送短信, 当用户向主控服务器的短信终端发送短信 的时候短信终端将根据接收的内容对短信进行解析, 根据解析的内容通过本 地的逻辑控制模块进行处理; 204、本地的逻辑控制模块解析本地、 Internet,短信的请求生成控制命令, 该控制命令主要由如下四类组成: 完整流程命令、 版本构建命令、 版本测试 命令和版本提交命令;
核心编译解释和图形化环境肩负运行跨平台可视化软件安装包的责任, 它饱含了一组最小集的软件安装包运行所需要的文件。
205、 判断生成的控制命令是否是完整流程命令, 如果是完整流程命令, 则转向 206, 如果不是完整流程命令, 则转向 207;
206、 根据控制命令生成可下达的版本构建命令, 转向步骤 08;
207、 判断该控制命令是否是版本构建命令, 如果是, 则转向 206, 如果 不是, 则转向 210;
208、 版本构建服务器接受版本构建命令, 协调统筹版本构建过程, 同时 向主控服务器返回版本和日志信息;
209、 主控服务器接受提交的信息生成回执信息; 结束;
主控服务器从版本构建服务器上得到构建好的版本同时根据传递的曰志 信息, 根据分析生成回执信息; 从版本测试服务器上得到的测试报告, 根据 分析生成回执信息;
用户根据回执信息就可以查看主控服务器对于用户请求的处理情况和结 果。
210、 判断该控制命令是否是版本测试命令, 如果是版本测试命令, 则转 向 211 , 否则转向 213;
211、根据控制命令生成可下达的版本测试命令,下达至版本测试服务器;
212、 版本测试服务器接受版本测试命令, 协调统筹版本测试过程, 同时 向主控服务器返回测试报告和日志信息; 并转向步骤 209;
213、确定该控制命令是版本提交命令, 将 208主控服务器收到的版本提 交至相关路径, 转向步骤 209。
完整流程命令将执行从版本构建、 自动化测试到版本提交的全部过程。 而版本构建命令仅进行版本构建活动, 版本测试命令仅进行自动化版本测试 活动, 版本提交命令仅进行版本提交活动。
如图 3所示,为本发明实施例中基于浏览器的客户端进行业务的流程图, 该过程包括以下步骤:
301、 登录验证, 对于这种附加的软件功能和业务, 由于牵扯后台维护的 工作, 往往这些业务的展开都是有偿的, 只有获取相关的权限才能展开该业 务。 因此, 高端用户、 用户团体或者二次开发者可以通过相关渠道获取到登 录主控服务器授权。 登录之后就可以转到 302或者 303执行;
302、如果是初次用户登录可以选择建立用户数据, 通过浏览器填充相关 表单, 提交给主控服务器中基于 Internet的控制模块。 基于 Internet的控制模 块根据用户提交的内容经由逻辑控制模块建立当前用户的数据信息;
303、如果用户之前已经建立过用户数据, 则可以通过此过程察看相关数 据和已经提交的文件信息和版本构建信息等;
无论是 302还是 303都可以通过 304过程上传和删除文件、 代码以及构 建相关配置项。
304、 文件数据上传, 用户可以通过此过程将修改的代码, 配置文件, 资 源文件等上传至主控服务器的相关用户数据库中, 同时还可以将版本构建请 求等控制信息和配置项上传至主控服务器;
305、完成远端版本构建过程,当用户提交了版本构建所需的相关项之后, 就可以启动远端的版本构建过程, 主控服务器收到版本构建请求之后将开辟 新的版本构建进程对用户的远端版本构建命令进行响应。 最终生成新的软件 安装版本和日志文件, 存放于相应的登录用户的数据库中, 供用户提取;
306、版本和日志获取, 当 305过程结束之后服务器上用户数据库中将会 有最终软件版本和日志信息。 用户可以通过数据察看界面察看到相关文件信 息, 下载生成的新的软件版本和日志。
如图 4所示, 为本发明实施例中版本构建服务器进行业务的流程图, 该 过程包括以下步骤: 401、 由主控服务器将下达的版本构建命令传递到版本构建服务器; 版本构建服务器通过版本构建命令可以确定一个版本构建任务, 以及所 需要的所有外部输入。 版本构建服务器可能同时接收到多个版本构建指令, 版本构建服务器将可以产生多个版本构建进程来控制并发的版本构建过程。
402、版本构建服务器收到版本构建指令后, 维护自身的版本构建进程队 歹 |J , 协调其控制的各个版本构建机; 当分配了版本构建资源后, 版本构建服 务器就会向相关的版本构建机发送版本构建指令, 转到 403、 404、 405执行; 当剩余的版本构建机资源允许进行当前版本构建任务时, 版本构建服务 器会产生新的版本构建进程并分配相关的版本构建资源。 当剩余版本构建资 源不允许进行当前版本构建任务时, 版本构建服务器会将当前版本构建任务 加入等待队列, 当有版本构建资源释放时, 会再次检查队列中等待任务, 当 有满足任务时, 从等待队列中将此任务取出, 建立版本构建进程并分配相关 资源。
403、 windows版本构建机群构建 windows版本;
404、 mac版本构建机群构建 mac版本;
405、 linux版本构建机群构建 linux版本;
版本构建服务器根据当前构建版本的类型和当前类型版本构建机器的使 用情况选择具体的版本构建机器进行版本构建。 每一个版本构建机上都有相 应版本构建的所需的自动化构建工具和相关的下载上传工具。
406、版本构建机将构建好的版本发送至版本构建服务器, 由版本构建服 务器决定后续的操作。
后续操作一般包括将多平台软件版本生成三合一或者二合一软件包, 或 者直接将软件版本提交至主控服务器。
如图 5所示, 为本发明实施例中版本测试服务器进行业务的流程图, 该 过程包括以下步骤:
501、 由主控服务器将下达的版本测试命令传递到版本测试服务器; 版本测试服务器通过版本测试命令可以确定一个版本测试任务, 以及所 需要的所有外部输入。 版本测试服务器可能同时接收到多个版本测试指令, 版本测试服务器将可以产生多个版本测试进程来控制并发的版本测试过程。
502、版本测试服务器收到版本测试指令后, 维护自身的版本测试进程队 歹 协调其控制的各个测试机; 当分配了版本测试资源后, 版本测试服务器 就会向相关的测试机发送版本测试指令, 转到 503、 504、 505执行;
当剩余的测试机资源允许进行当前版本测试任务时, 版本测试服务器会 产生新的版本测试进程并分配相关的资源。 当剩余版本测试资源不允许进行 当前版本测试任务时,版本测试服务器会将当前版本测试任务加入等待队列, 当有版本测试资源释放时, 会再次检查队列中等待任务, 当有满足任务时, 从等待队列中将此任务取出, 建立版本测试进程并分配相关资源。
503、 windows >J¾'J试机对 windows版本进行则试;
504、 mac测试机对 mac版本进行测试;
505、 linux测试机对 linux版本进行测试;
版本测试服务器根据当前测试任务选择具体的测试机器进行自动化测 试。 每一个测试机上都有相应版本测试所需的自动化测试工具和相关的下载 上传工具。
506、 生成测试报告, 自动化测试的目的就是测试软件版本的质量, 其重 要的输出就是测试报告。 自动化测试工具完成自动化测试后会生成测试报告, 上传至版本测试服务器。
将有利于提高效率, 缩短开发周期, 实现全天候自动化的版本构建和自 动化测试服务, 有效的保证了所构建版本的质量。
上述软硬件版本的构建和测试方法, 有利于提高效率, 缩短开发周期, 实现全天候自动化的版本构建和自动化测试服务, 有效地保证了所构建版本 的质量。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成, 上述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任 何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制, 仅仅参照较佳实施 例对本发明进行了详细说明。 本领域的普通技术人员应当理解, 可以对本发 明的技术方案进行修改或者等同替换, 而不脱离本发明技术方案的精神和范 围, 均应涵盖在本发明的权利要求范围当中。
工业实用性
上述版本的构建系统及方法, 有利于提高效率, 缩短开发周期, 实现全 天候自动化的版本构建和自动化测试服务,有效地保证了所构建版本的质量。

Claims

权 利 要 求 书
1、 一种版本的构建系统, 该系统包括主控服务器、 与所述主控服务器相 连的版本构建服务器以及与所述版本构建服务器相连的版本构建机, 其中: 所述主控服务器设置为: 根据获得的请求生成控制命令, 将所述控制命 令对应下发至所述版本构建服务器, 以及根据所述版本构建服务器上报的构 建信息生成回执信息, 所述控制命令包括版本构建命令;
所述版本构建服务器设置为: 向所述版本构建机下发来自所述主控服务 器的版本构建命令或完整流程命令, 以及向所述主控服务器上报所述版本构 建机反馈的构建信息;
所述版本构建机设置为: 根据接收的来自所述版本构建服务器的版本构 建命令或完整流程命令进行软硬件版本的构建, 并向所述版本构建服务器反 馈所述构建信息。
2、 根据权利要求 1所述的系统, 其中, 所述控制命令还包括版本测试命 令, 所述系统还包括与所述主控服务器相连的版本测试服务器以及与所述版 本测试服务器相连的测试机;
所述主控服务器还设置为: 将所述版本测试命令对应下发至所述版本测 试服务器, 以及根据所述版本测试服务器上报的测试信息生成回执信息; 所述版本测试服务器设置为: 向所述测试机下发来自所述主控服务器的 版本测试命令, 以及, 向所述主控服务器上报所述测试机反馈的测试信息; 所述测试机设置为: 根据接收的来自所述版本测试服务器的版本测试命 令进行软硬件版本的测试, 并向所述版本测试服务器反馈所述测试信息。
3、 根据权利要求 2所述的系统, 其中,
所述控制命令还包括完整流程命令;
所述主控服务器还设置为: 将所述完整流程命令对应下发至所述版本构 建服务器, 以及在接收所述版本构建服务器上报的所述构建信息后, 向所述 版本测试服务器下发所述版本测试命令。
4、 根据权利要求 1所述的系统, 其中, 所述控制命令还包括版本提交命令, 所述主控服务器还设置为: 根据所 述版本提交命令将当前软硬件版本提交至目标路径。
5、 根据权利要求 1所述的系统, 其中,
所述主控服务器设置为: 根据本地输入的所述请求或者接收客户端输入 的所述请求或者接收终端发送的所述请求生成所述控制命令。
6、 根据权利要求 1所述的系统, 其中,
所述版本构建机包括多系统的版本构建机;
所述版本构建服务器设置为: 接收所述主控服务器发送的所述版本构建 命令, 为所述版本构建命令分配版本构建机, 将所述版本构建命令下发至对 应的版本构建机。
7、 根据权利要求 2所述的系统, 其中,
所述测试机包括多系统的测试机;
所述版本测试服务器设置为: 接收所述主控服务器发送的所述版本测试 命令, 为所述版本测试命令分配测试机, 将所述版本测试命令下发至对应的 测试机。
8、 根据权利要求 1-7任一权利要求所述的系统, 其中,
所述主控服务器包括逻辑控制模块、 基于互联网的控制模块和基于短信 的控制模块, 其中:
所述基于互联网的控制模块设置为: 接收用户通过客户端输入的用户请 求或业务请求, 对所述用户请求或所述业务请求进行解析后发送给所述逻辑 控制模块, 所述业务请求包括二次开发业务请求;
所述基于短信的控制模块设置为: 接收用户通过终端发送的短信, 对所 述短信进行解析后发送给所述逻辑控制模块;
所述逻辑控制模块设置为: 接收本地输入的所述用户请求、 所述基于互 联网的控制模块发送的解析结果或基于短信的控制模块发送的解析结果, 根 据所述基于互联网的控制模块发送的解析结果、 基于短信的控制模块发送的 解析结果或本地输入的所述用户请求实时或定时生成所述控制命令。
9、 根据权利要求 8所述的系统, 其中,
所述逻辑控制模块还设置为: 为所述用户请求或业务请求分配标识, 以 信息。
10、 一种版本的构建方法, 该方法包括:
主控服务器根据输入的请求生成控制命令;
当所述控制命令为版本构建命令时, 所述主控服务器向版本构建服务器 发送所述控制命令, 接收所述版本构建服务器根据所述控制命令上报的构建 信息, 并根据所述构建信息生成回执信息。
11、 根据权利要求 10所述的方法, 其中, 所述方法还包括:
当所述控制命令为版本测试命令时, 所述主控服务器向版本测试服务器 发送所述控制命令, 接收所述版本测试服务器根据所述控制命令上报的测试 信息, 并根据所述测试信息生成回执信息; 或者
当所述控制命令为完整流程命令时, 所述主控服务器向版本构建服务器 发送所述控制命令, 接收所述版本构建服务器根据所述控制命令上报的构建 信息后向所述版本测试服务器发送所述控制命令, 接收所述版本测试服务器 根据所述控制命令上报的测试信息, 并根据所述测试信息生成回执信息; 或 者
当所述控制命令为版本提交命令时, 所述主控服务器根据所述控制命令 将当前软硬件版本提交至目标路径。
12、 根据权利要求 10或 11所述的方法, 其中,
所述主控服务器根据输入的请求生成控制命令包括:
所述主控服务器根据本地输入或远端输入的用户请求生成所述控制命 令; 或者, 所述主控服务器根据远端输入的业务请求生成所述控制命令, 所 述业务请求包括二次开发业务请求。
PCT/CN2012/077219 2012-03-12 2012-06-20 版本的构建系统及方法 WO2013135016A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US14/371,842 US20140351792A1 (en) 2012-03-12 2012-06-20 Version Construction System and Method
EP12871073.8A EP2790100A4 (en) 2012-03-12 2012-06-20 SYSTEM AND METHOD FOR VERSION CONSTRUCTION

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210063527.X 2012-03-12
CN201210063527.XA CN102662655B (zh) 2012-03-12 2012-03-12 版本的构建系统及方法

Publications (1)

Publication Number Publication Date
WO2013135016A1 true WO2013135016A1 (zh) 2013-09-19

Family

ID=46772156

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/077219 WO2013135016A1 (zh) 2012-03-12 2012-06-20 版本的构建系统及方法

Country Status (4)

Country Link
US (1) US20140351792A1 (zh)
EP (1) EP2790100A4 (zh)
CN (1) CN102662655B (zh)
WO (1) WO2013135016A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105426186A (zh) * 2015-11-13 2016-03-23 上海斐讯数据通信技术有限公司 通过服务器获取终端上应用软件更新数据的方法和系统
CN108206848A (zh) * 2016-12-19 2018-06-26 深圳中兴网信科技有限公司 构建soa服务版本的方法及装置
DE102019103195A1 (de) * 2019-02-08 2020-08-13 Liebherr-Werk Biberach Gmbh Vorrichtung und Verfahren zum Steuern und/oder Konfigurieren einer Baumaschine
CN111651197B (zh) * 2020-07-01 2023-04-28 中国银行股份有限公司 一种自动搬库方法和装置
CN114077576A (zh) * 2020-08-19 2022-02-22 长鑫存储技术有限公司 晶圆修补方法、装置、设备及存储介质
CN112256309A (zh) * 2020-11-12 2021-01-22 上海达梦数据库有限公司 一种程序升级方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436157A (zh) * 2007-11-13 2009-05-20 上海未来宽带技术及应用工程研究中心有限公司 一种在程序测试流程中程序bug的处理方法
US20090164970A1 (en) * 2007-12-20 2009-06-25 At&T Knowledge Ventures, L.P. System for Managing Automated Report Versions
CN101593118A (zh) * 2009-02-24 2009-12-02 浪潮集团山东通用软件有限公司 一种灵活的软件升级的方法
CN102255748A (zh) * 2011-06-27 2011-11-23 中兴通讯股份有限公司 自动化测试系统及方法、版本服务器、以及终端
US20110289484A1 (en) * 2010-05-19 2011-11-24 Also Energy Method and System for Script Processing for Web-Based Applications

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5742762A (en) * 1995-05-19 1998-04-21 Telogy Networks, Inc. Network management gateway
US6163805A (en) * 1997-10-07 2000-12-19 Hewlett-Packard Company Distributed automated testing system
US20040205730A1 (en) * 2001-06-11 2004-10-14 Week Jon J. System and method for building libraries and groups of computer programs
US6957366B1 (en) * 2001-09-28 2005-10-18 Bellsouth Intellectual Property Corporation System and method for an interactive web-based data catalog for tracking software bugs
US7243137B2 (en) * 2001-09-28 2007-07-10 Sun Microsystems, Inc. Remote system controller and data center and methods for implementing the same
US20070038982A1 (en) * 2005-08-11 2007-02-15 International Business Machines Corporation Method and process to automatically perform test builds or translated files for a software product
US8458661B2 (en) * 2006-03-31 2013-06-04 Ebay Inc. Distributed parallel build system
US20070167178A1 (en) * 2007-01-07 2007-07-19 Al-Harbi Mansour A Short Message Service (SMS) Parser
US8201148B2 (en) * 2007-03-05 2012-06-12 Sap Ag Guided development and testing for computer code
US9122460B2 (en) * 2008-08-28 2015-09-01 Red Hat, Inc. Application development using middleware platform
US8225281B1 (en) * 2009-02-04 2012-07-17 Sprint Communications Company L.P. Automated baseline deployment system
CA2698066A1 (en) * 2009-07-31 2011-01-31 Nitobi Software Inc. System and method for remotely compiling multi-platform native applications for mobile devices
KR101132560B1 (ko) * 2010-06-09 2012-04-03 강원대학교산학협력단 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101436157A (zh) * 2007-11-13 2009-05-20 上海未来宽带技术及应用工程研究中心有限公司 一种在程序测试流程中程序bug的处理方法
US20090164970A1 (en) * 2007-12-20 2009-06-25 At&T Knowledge Ventures, L.P. System for Managing Automated Report Versions
CN101593118A (zh) * 2009-02-24 2009-12-02 浪潮集团山东通用软件有限公司 一种灵活的软件升级的方法
US20110289484A1 (en) * 2010-05-19 2011-11-24 Also Energy Method and System for Script Processing for Web-Based Applications
CN102255748A (zh) * 2011-06-27 2011-11-23 中兴通讯股份有限公司 自动化测试系统及方法、版本服务器、以及终端

Also Published As

Publication number Publication date
US20140351792A1 (en) 2014-11-27
EP2790100A1 (en) 2014-10-15
CN102662655A (zh) 2012-09-12
EP2790100A4 (en) 2015-09-30
CN102662655B (zh) 2018-09-25

Similar Documents

Publication Publication Date Title
CN106844198B (zh) 一种分布式调度自动化测试平台及方法
US9910708B2 (en) Promotion of calculations to cloud-based computation resources
WO2013135016A1 (zh) 版本的构建系统及方法
CN109889381B (zh) 基于堡垒机的自动化配置管理方法及装置
WO2021203979A1 (zh) 运维处理方法、装置及计算机设备
CN103677858B (zh) 一种云环境中虚拟机软件管理的方法、系统及设备
US20180247244A1 (en) Service and Resource Orchestration System and Method, and Apparatus
US20130254761A1 (en) Granular application sessions tagging
WO2021155667A1 (zh) 模型训练方法、装置及集群系统
CN110658794B (zh) 一种制造执行系统
CN110138876B (zh) 任务部署方法、装置、设备及平台
CN109192248A (zh) 基于云平台的生物信息分析系统、方法及云计算平台系统
CN101808051B (zh) 应用整合网关及其控制方法
CN106293847B (zh) 一种虚拟化平台服务支撑的方法
CN106375430A (zh) 基于web的云桌面管理系统
CN114666333A (zh) 一种基于多租户理论面向云计算资源调度问题的控制方法
CN105976245A (zh) 一种模拟交易系统及方法
CN103516735A (zh) 一种网络节点升级的方法及装置
CN107391256A (zh) 一种基于云计算技术的继电保护定值整定计算架构及方法
CN111324667A (zh) 一种数据同步方法、装置、电子设备及存储介质
CN110750453B (zh) 基于html5的智能移动端测试方法、系统、服务器及存储介质
CN114201294A (zh) 一种任务处理方法、装置、系统、电子设备及存储介质
CN113849399A (zh) 多国产化平台下的多机协同软件的自动化测试系统和方法
CN103281407A (zh) 一种基于龙芯云终端的ip地址远程管理系统
CN111459748A (zh) 基于命令操控的运维控制方法、系统、装置及存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12871073

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012871073

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012871073

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 14371842

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE