Running a build on your local machine with the Jet CLI tool may have differing results from a build on CloudBees CodeShip Pro. Let’s explore why this might be the case.
Jet CLI Disjoints
-
Jet tool can be out of date (and therefore out of alignment with CloudBees CodeShip Pro environment). > Run
jet update
to ensure latest version of CLI tool. -
Jet may be reliant on outdated Docker/service image(s). > Identify the current image with
docker image ls
, then remove viadocker rmi IMAGE_ID
(you can alsodocker rmi
the image name directly if you have animage
attribute set in the services file). Runningjet steps
will now trigger an image rebuild. -
jet steps
could run with additional files present that would otherwise not be expected in the CloudBees CodeShip Pro build. > We recommend runningjet steps
on a freshly git cloned version of your project OR running agit reset
andgit clean
operation on your project prior tojet steps
. -
Jet will overlook volume mappings to absolute paths on the host. > This may work just fine on one’s local machine, but can be problematic with an ephemeral Docker Host (i.e., the CloudBees CodeShip Pro build). Please ensure that volumes are mapped relative to the project folder on the Docker Host.
-
Unless explicitly passed along to
jet steps
as a flag, most CI environment variables will not be present in ajet steps
build. > Seejet steps --help
for flag options. -
Outdated Docker Engine version > Ensure that your local machine is utilizing an up-to-date version of Docker Engine. CloudBees CodeShip Pro currently runs with 24.0.
-
AES key may have been recently reset from CodeShip project page, preventing decryption of environment variables with the outdated AES key on local machine. > The AES key for your project can be located on the
Project Settings > General
page.
CloudBees CodeShip Pro Disjoints
-
Application level resource constraints may be imposed on CloudBees CodeShip Pro builds. Usually resulting in an explicit "out of memory" error in the stack trace. > Consult your library’s documentation on increasing the memory allocation limit (e.g., Composer, Node.js) and Java).
-
CloudBees CodeShip Pro may be reliant on outdated Docker image(s). > To clear the project’s Docker image cache, click the drop down arrow of any build status icon and select `Reset Cache'.
-
Resource constraints for the allotted CloudBees CodeShip Pro instance size could force background processes to be killed on CloudBees CodeShip Pro builds, while the same build runs without issue via
jet steps
. The error stack trace can be a bit more cryptic than with resource constraints imposed on the application level. > If you suspect your build is failing on account of resource constraints, then please reach out to our support team with the CloudBees CodeShip Pro build url in question.