Docs / Shipping code

Applications and build strategies

Describe what to build from a repository, and which build strategy runs it.

An application is one thing SysJ builds from a repository and deploys. A repository with several services has one application per service.

Fields

FieldNotes
Name and repositoryThe repository cannot be changed later.
Path in the repositoryLeave empty for the repository root.
DockerfileRelative to the path. Dockerfile by default.
Build toolChooses the build strategy, below. Leave empty for the Dockerfile alone.
Minimum coverage %The build fails below this. Leave empty for no coverage gate.

Build strategies

SysJ runs a fixed set of build strategies, each with its commands written by SysJ. You choose one by build tool; you cannot supply commands to run, which is what keeps a deployment request from becoming a way to run code on the build system.

Build toolStrategyWhat runs
empty, dockerdockerfileThe Dockerfile is the whole build.
node, npm, pnpm, yarn, nestnode-servicepnpm install, build and test, then the Dockerfile.
next, nextjsnextjs-appnext build (standalone), tests, then the Dockerfile.
static, vitestatic-sitepnpm build to dist, served by the image.
maven, mvnmaven-servicemvn verify, then the Dockerfile.

Use the Dockerfile strategy for any language not listed.