Skip to main content

⚙️ Parameters

This document lists all available settings for Forge, Docker, and Node.js build processes. All parameters can be passed to the build system as NUKE parameters (command-line arguments, e.g. --param value). These can also be set via environment variables or in the .build.env.map configuration file, depending on your CI/CD setup.


🛠️ Forge (Common Settings)

These are the base parameters available to all builds. NodeParams and DockerParams both inherit from ForgeParams, so all settings below are available to Node and Docker builds as well.

VariableDescriptionDefault
RepositoryUrlThe URL of the source code repository.
NotificationsEnable/disable notifications (bool).false
ForceNotificationsForce notifications even if not required (bool).false
NotificationsWebHookUrlWebhook URL for sending notifications.
ForcePushForce push actions (bool).false
DryRunRun the build in dry-run mode (bool).false
VerbosityVerbosity level for build output (enum).Normal

🐳 Docker

Inherits all settings from Forge.

VariableDescriptionDefault
TemplatesDirDirectory path for Dockerfile templates./nuke/templates
DockerfilePath to the Dockerfile.Dockerfile
ImageTagTag for the container image.container-app
RegistryUrlRegistry URL for pushing the Docker image.
RegistryUserRegistry user name.
RegistryTokenRegistry authentication token.
CreateGitHubReleaseWhether to create a GitHub release after build (bool).false
PreReleaseWhether to mark the GitHub release as pre-release (bool)false

🔄 NodeInDocker

Inherits all settings from both Docker and Node.js (and therefore Forge).

The NodeInDocker build type combines parameters from both Docker and Node.js builds, giving you access to all configuration options from both parent types. This enables comprehensive control over the two-phase build process.

VariableDescriptionDefaultSource
ArtifactsDirDirectory path for storing Node.js build artifacts.artifactsNode
TemplatesDirDirectory path for Dockerfile templates./nuke/templatesDocker
DockerfilePath to the Dockerfile.DockerfileDocker
ImageTagTag for the container image.container-appDocker
RegistryUrlRegistry URL for pushing the Docker image.Docker
RegistryUserRegistry user name.Docker
RegistryTokenRegistry authentication token.Docker
CreateGitHubReleaseWhether to create a GitHub release after build (bool).falseDocker
PreReleaseWhether to mark the GitHub release as pre-release (bool)falseDocker

Note: NodeInDocker also inherits all Forge (common) parameters shown above, including notifications, verbosity, dry-run mode, and force-push options.


� Forge (Changelog Generation)

Inherits all common settings from Forge base parameters.

VariableDescriptionDefault
ChangeLogSourceSource for changelog generation (null/""/tag/"all").null (last tag)

ChangeLogSource Options:

  • null or "" (empty): Generate changelog since the last Git tag
  • all: Generate complete commit history
  • specific-tag: Generate changelog since the specified tag (e.g., "v1.0.0")

Output Configuration:

  • File: Saves to CHANGELOG.md in the project root
  • Format: Prepends new content to existing changelog
  • Date Format: Uses yyyy.MM.dd format for all dates
  • Grouping: Groups commits by date in descending order (latest first)

🔄 Node

Inherits all settings from Forge.

VariableDescriptionDefault
ArtifactsDirDirectory path for storing build artifacts.artifacts

Example

Tell the build process to create a GitHub release (false by default):

Create .build.env.map, with:

CreateGitHubRelease=const:true

Use a NUKE parameter:

& docker run `
-e DOCKER_HOST=tcp://host.docker.internal:2375 `
-v ./:/workspace `
-it ghcr.io/the-running-dev/build-agent:latest `
docker-build --create-github-release true