Effective CI/CD requires that you quickly and reliably recreate your production environment for testing. Moreover, you must be able to reset your environment after each test run. Otherwise, your results will be subject to failures caused by minor changes to configuration state. With Portworx, you can start all your builds from a known-good snapshot of production data, then roll back to this golden image after each test run. Your test runs will be faster with fewer configuration errors.
Problems with CI/CD today:
The Jenkins /home directory or equivalent in TravisCI, Bamboo and other popular CI/CD systems includes all the images and artifacts you need to run your tests. Once the home directory has been built from your container registry and version control system, Portworx lets you snapshot it and use those snapshots as the basis for unlimited Jenkins slaves. Each Portworx snapshot is available to the cluster globally — so no matter where your Jenkins job is scheduled, your tests can begin right away, without the wait.
Pulling all the images and artifacts needed for a test run is time-consuming, so it is tempting to use the same environment for multiple test runs. But because database state or configuration can change during a test run, subsequent runs can fail; not due to real errors in your code, but through minor differences in your configuration. Sorting out the causes of these errors takes time, which can force you to pull Jenkins /home or equivalent fresh each time. With Portworx, when you’ve built Jenkins /home once, you can snapshot it and use the snapshot as a golden image for subsequent test runs. This will dramatically speed up your incremental builds.