Browse Prior Art Database

Parallel Caching of SCM Workspaces in a Cloud Based Build Pipeline

IP.com Disclosure Number: IPCOM000241208D
Publication Date: 2015-Apr-03
Document File: 3 page(s) / 60K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to improve build performance by fetching the Source Code Management (SCM) workspace to a cache area, which removes it from the critical path and reduces disk space requirements.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 01 of 3

Parallel Caching of SCM Workspaces in a Cloud Based Build Pipeline

When building in a pipeline, typically, the Source Code Management (SCM) workspace containing the source is first fetched to the build machine and then the compilation and packaging begins. For large or decentralized projects, the fetch time can often take several minutes, which slows down build times. The typical solution is to keep the fetched workspace replica and only fetch/update changed content. This approach significantly accelerates fetch times.

While the typical solution is effective in improving build times, it has two downsides: 1) if a build modifies the fetched workspace, then the replica can become corrupted, which may cause the build to fail and 2) the solution does not scale well to a build farm or cloud environment.

Figure 1: Typical process

1


Page 02 of 3

Instead of fetching the SCM workspace onto the build machine, the novel solution is to fetch the workspace to a cache area. This can happen before the build machine is online. When the build machine is online, the cache location containing the workspace is mounted on the build machine as read-only.

Figure 2: New process

2


Page 03 of 3

The steps for implementing the solution follow:


1. When the build is started, the workspace cache is locked so that no other build can use that replica


2. The SCM workspace fetch process immediately begins (in parallel to the build machine create instead)

3. Because the workspace location is not tied to a specific build machine, the location can exist betw...