Skip to main content

Vessels#

Definition#

A Vessel is the "unit of work" in Shipyard, or an individual script that has been designed and built to accomplish a very specific job. Just like the real world equivalent, Vessels can be built for any purpose and come in any size, shape, or speed.

Every Vessel is either built with code or with a Blueprint that contains the design specifications that determine what that Vessel will do. Building a new Vessel will walk you through a multi-step setup wizard. The steps required for creating a New Vessel differ based on the creation method that you select.

Setup#

With Code#

Building a Vessel with code allows you to write and run scripts from scratch with no changes to your existing code or additional configuration files. The code is executed on Shipyard's cloud infrastructure in isolation.

When building a Vessel with code, your script should return an exit code of 0 to indicate a successful run. Any other exit code indicates failure.

Additionally, your script should stop its work if it receives a SIGTERM (15) signal.

Wizard Steps#

  1. Select With Code
  2. Select a Language
  3. Provide Code
  4. Define Requirements (Environment Variables, External Package Dependencies)
  5. Save Settings (Information, Notifications, and Guardrails)

With Blueprint#

Building a Vessel with a Blueprint allows you to run scripts without needing to touch code. Instead, you're only required to fill out a few key form inputs. This user input then gets passed to a script in the backend.

Setup Steps#

  1. Select With a Blueprint
  2. Select your Blueprint
  3. Provide Inputs
  4. Save Settings (Information, Notifications, and Guardrails)

Additional Notes#

  1. A Vessel can only be tied to one Blueprint, one Project, and one Organization.
  2. A Vessel's Blueprint or Code type cannot be changed once it is built.
  3. A Vessel's Project cannot be changed once it is built.
  4. A Vessel is not version controlled. Any changes made directly in the Vessel creation pages cannot be visualized or restored.

Learn More#