Jenkins and Datrium Solution Brief
Optimized Jenkins Workflow with Datrium DVX Open Convergence Platform
Lowers storage requirements
Reduces overall runtimes
Preserves all artifacts
Improves virtual resource utilization
Simplifies management of slaves
Jenkins Continuous Integration software is an invaluable tool to automate build and test, especially when coupled with virtualized infrastructures. However, Jenkins users face some challenges when trying to build, test and archive large projects.
- Jenkins architecture requires that artifact data go through a master node when using slaves; which, in turn, becomes a significant bottleneck.
- Data is frequently copied twice for each build and every test cycle, first to the master and then to the NFS mount point.
- Large file archiving is not natively supported.
Workflows that use static slaves with one or more executors may lead to leakage of state between concurrent or previously executed builds, resulting in wrong results. These challenges are depicted in Figure 1.
Datrium DVX, with zero copy and near instant clones, can be used with transient Jenkins worker VMs and Containers to provide an optimal solution. The basic workflow first creates a worker VM by cloning from a Jenkins slave template. Next, an upstream virtual disk (vdisk) or persistent volume is cloned and attached to the worker. Once the build completes, the vdisk or persistent volume gets detached, and the worker is destroyed. Consider a typical process that builds the product in a top-level job, which then triggers many downstream jobs, each responsible for testing different area of the build. The cloned vdisk or persistent volume provides the upstream artifacts without transferring any data, and each detached vdisk or persistent volume becomes a complete copy of the build and test artifacts. This new process is depicted in Figure 2.
Then artifacts are made available via a hyperlink on the build page, exposing both an NFS mount point and HTTP URL for browsing, and since the vdisk or persistent volume is named according to the job name and build number, lookup and retention management is simple.
Efficient Build and Test
Advanced snapshot and cloning features support efficient data handling for build artifacts and job archives. The downstream cloned vdisk or persistent volume is a snapshot of the base vdisk or persistent volume, consuming no additional space until written to, all writes are both compressed and deduped, further reducing space consumption. The zero-copy clones and data reduction techniques typically result in space savings of 20x over the traditional local storage and NFS based workflows, and data transfer times are all but eliminated, reducing run times by 30% or more.
Clean Build Environment and Flexible Workers
Fast and efficient clones support ephemeral, template based, workers with many benefits. Since the worker is cloned from a base template and powered-on before each build, it provides a known initial state without any residual state from previous builds. Spinning up a new worker for each build also makes it easy to specify CPU and memory configurations according to job requirements. Finally, expanding the size of a cloned vdisk or persistent volume, if needed, is painless. The Datrium DVX workflow provides complete control of each worker and for individual build environments.
Seamlessly scale-out compute and storage independently with granular pay-as-you-go consumption model
With Datrium DVX for Red Hat Virtualization, IT organizations can start small and scale-out compute and storage independently. Additional space savings at the compute and storage is realized with Datrium’s always-on, in-line deduplication and compression. IT organizations typically experience 2-to-6X data reduction with mixed workloads.
Deploy Datrium DVX on existing or new hosts. With no server vendor lock-in, simply add flash to the hosts to increase application performance with local flash data access as part of the DVX software.
Datrium DVX allows cloned vdisks or persistent volumes to be efficiently stored and easily managed. Cloning vdisks or persistent volumes for downstream builds substantially improves the overall build and test workflow. However, the resulting vdisk or persistent volume also serves as a complete archive of the build itself. The vdisk or persistent volume can be instantly cloned again for destructive analysis or further ad-hoc testing, and exposing artifacts as a clone of the original vdisk or Persistent volume ensures that the original artifacts are preserved.
Distributed Resource Scheduling
Datrium DVX cloning techniques allow worker VMs and Containers to be initially placed on any host or later migrated within the cluster without penalty. VMware distributed resource scheduling (DRS) can be enabled and configured in numerous ways to optimize overall resource utilization.
Some of the most challenging aspects when using Jenkins Continuous Integration are efficient artifact handling and slave management. Datrium DVX Open Convergence help Jenkins users to addresses production challenges using advanced cloning and data reduction technology.
For More Information: