End-to-end continuous integration and verification of software

US9569204B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9569204-B2
Application numberUS-201213721651-A
CountryUS
Kind codeB2
Filing dateDec 20, 2012
Priority dateSep 27, 2012
Publication dateFeb 14, 2017
Grant dateFeb 14, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods of end-to-end continuous integration and verification of software are described. A system comprises, for example, a provisioning service module configure to automatically retrieve source code from a source code management system. The provisioning service module further generates one or more environments. A propagation management module is configured to package the retrieved source code into a deliverable and to automatically propagate the deliverable through a pipeline comprising the one or more environments.

First claim

Opening claim text (preview).

What is claimed is: 1. A system comprising: one or more processors and executable instructions accessible on a computer-readable medium that, when executed, configure the one or more processors to at least: automatically retrieve source code from a source code management system; generate one or more environments, each environment including a resource; package the retrieved source code into a deliverable that is propagated through a pipeline comprising the generated one or more environments including a first environment, a second environment, and a third environment; determine that a first version of the deliverable from the first environment and a second version of the deliverable from the second environment each passes a test executed within their respective environments; detect that the first and second versions of the deliverable are both a latest version of the deliverable that passes the test executed in both the first environment and the second environment; introduce a pipe to connect the first and second environments to the third environment; automatically propagate the latest version of the deliverable from the first and second environments to a third environment within the pipeline based on the detection of the first and second versions of the deliverable; and cause display of the propagation of the deliverable in a user interface. 2. The system of claim 1 , wherein the resource is a virtual machine. 3. The system of claim 1 , wherein the deliverable comprises an activation script to configure, start, and stop executable code within the deliverable. 4. The system of claim 1 , wherein the one or more processors are further configured to create the first environment of the one or more environments for retrieving and packaging the retrieved source code. 5. The system of claim 1 , wherein the one or more processors are further configured to determine that the retrieved source code is assigned a unit test and to generate the second environment of the one of more environments used to run the unit test. 6. The system of claim 1 , wherein the one or more processors are further configured to determine that the deliverable is allowed to pass to a next environment of the one or more environments based on pre-defined criteria. 7. The system of claim 1 , wherein the deliverable is tested in one of the one or more environments. 8. The system of claim 7 , wherein the testing comprises identifying the resources to perform the testing and wherein the one or more processors are further configured to add or remove resources from the one of the one or more environments based on the identification. 9. The system of claim 7 , wherein the testing comprises confirming that the deliverable in the one of the one or more environments is a newer version of the deliverable. 10. The system of claim 9 , wherein the newer version is identified based on propagation of the newer version of the deliverable in another environment of the one or more environments. 11. The system of claim 9 , wherein the newer version is identified based on the newer version of the deliverable being stored in a repository. 12. The system of claim 7 , wherein the testing comprises running an automated test suite assigned to the one environment of the one or more environments. 13. The system of claim 12 , wherein the one or more processors are further configured to determine a set of tests to run as part of the automated test suite based on test adequacy criteria. 14. The system of claim 13 , wherein the one or more processors are further configured to log results of the automated test suite. 15. The system of claim 7 , wherein the testing further comprises evaluating propagation criteria. 16. The system of claim 1 , wherein, when multiple pipes propagate the same deliverable, propagation occurring based on the deliverable versions matching. 17. A method comprising: automatically retrieving source code from a source code management system; generating one or more environments, each environment including a resource; packaging the retrieved source code into a deliverable that is propagated through a pipeline comprising the generated one or more environments including a first environment, a second environment, and a third environment; determining that a first version of the deliverable from the first environment and a second version of the deliverable from the second environment each passes a test executed within their respective environments; detecting that the first and second versions of the deliverable are both a latest version of the deliverable that passes the test executed in both the first environment and the second environment; introducing a pipe to connect the first and second environments to the third environment; automatically propagating, using one or more processors, the latest version of the deliverable from the first and second environments to a third environment within the pipeline based on the detection of the first and second versions of the deliverable; and causing display of the propagation of the deliverable in a user interface. 18. A non-transitory computer-readable medium having instructions embodied thereon, the instructions executable by one or more processors to perform operations comprising: automatically retrieving source code from a source code management system; generating one or more environments, each environment including a resource; packaging the retrieved source code into a deliverable that is propagated through a pipeline comprising the generated one or more environments including a first environment, a second environment, and a third environment; determining that a first version of the deliverable from the first environment and a second version of the deliverable from the second environment each passes a test executed within their respective environments; detecting that the first and second versions of the deliverable are both a latest version of the deliverable that passes the test executed in both the first environment and the second environment; introducing a pipe to connect the first and second environments to the third environment; automatically propagating the latest version of the deliverable from the first and-second environments to a third environment within the pipeline based on the detection of the first and second versions of the deliverable; and causing display of the propagation of the deliverable in a user interface.

Assignees

Inventors

Classifications

  • G06F8/71Primary

    Version control (security arrangements therefor G06F21/57); Configuration management · CPC title

  • Software deployment · CPC title

  • Target code generation · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9569204B2 cover?
Systems and methods of end-to-end continuous integration and verification of software are described. A system comprises, for example, a provisioning service module configure to automatically retrieve source code from a source code management system. The provisioning service module further generates one or more environments. A propagation management module is configured to package the retrieved …
Who is the assignee on this patent?
Mansour Steve Farris, Paul Todd, Ebay Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/71. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 14 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).