Skip to main content

Command: game ship

Description

The shipthis game ship command starts the process of building and publishing your game.

info

This command creates one or more "jobs". A job is a set of work done to create a new build of your game on one platform.

When this command is run, ShipThis uploads the code in the current directory to the ShipThis backend. To control which files are uploaded, use globs in shipthis.json. Legacy keys shippedFilesGlobs and ignoredFilesGlobs are still supported for older projects. See https://shipth.is/docs/guides/controlling-uploaded-files.

Examples

Standard use

When run without any flags, the command will try to run the full build and publish pipelines for each of the platforms that you have configured.

When run like this, pressing L will show or hide the last few lines of the logs, pressing B will open the job log in your browser.

asciicast

Follow mode

When using ShipThis in a CI environment, it is most useful to use the --follow to collect the full output. This flag requires you to specify the --platform flag too.

asciicast

Follow, do not publish, and then download APK

asciicast

Building with demo credentials

Adding the --useDemoCredentials flag executes the build for the specified platform but applies ShipThis certificates, keystores or provisioning profiles. This can be useful to generate an asset which can be side-loaded onto your own device.

Overriding the Godot version

You can specify a different Godot version to use only for the current job. This can be helpful if you are upgrading your game to use a newer version of Godot.

Help Output

Upload file selection

Control uploads with the globs section in shipthis.json:

  • globs.base.include selects candidate files
  • globs.base.exclude excludes files for all platforms
  • globs.android.exclude and globs.ios.exclude apply per platform job

See Controlling uploaded files for examples and migration from legacy keys.