⚙️ 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.
- Environment
- NUKE Parameters
Variable | Description | Default |
---|---|---|
RepositoryUrl | The URL of the source code repository. | |
Notifications | Enable/disable notifications (bool). | false |
ForceNotifications | Force notifications even if not required (bool). | false |
NotificationsWebHookUrl | Webhook URL for sending notifications. | |
ForcePush | Force push actions (bool). | false |
DryRun | Run the build in dry-run mode (bool). | false |
Verbosity | Verbosity level for build output (enum). | Normal |
Variable | Description | Default |
---|---|---|
--repository-url | The URL of the source code repository. | |
--notifications | Enable/disable notifications (bool). | false |
--force-notifications | Force notifications even if not required (bool). | false |
--notifications-web-hook-url | Webhook URL for sending notifications. | |
--force-push | Force push actions (bool). | false |
--dry-run | Run the build in dry-run mode (bool). | false |
--verbosity | Verbosity level for build output (enum). | Normal |
🐳 Docker
Inherits all settings from Forge.
- Environment
- NUKE Parameters
Variable | Description | Default |
---|---|---|
TemplatesDir | Directory path for Dockerfile templates. | /nuke/templates |
Dockerfile | Path to the Dockerfile. | Dockerfile |
ImageTag | Tag for the container image. | container-app |
RegistryUrl | Registry URL for pushing the Docker image. | |
RegistryUser | Registry user name. | |
RegistryToken | Registry authentication token. | |
CreateGitHubRelease | Whether to create a GitHub release after build (bool). | false |
PreRelease | Whether to mark the GitHub release as pre-release (bool) | false |
Parameter | Description | Default |
---|---|---|
--templates-dir | Directory path for Dockerfile templates. | /nuke/templates |
--docker-file | Path to the Dockerfile. | Dockerfile |
--image-tag | Tag for the container image. | container-app |
--registry-url | Registry URL for pushing the Docker image. | |
--registry-user | Registry user name. | |
--registry-token | Registry authentication token. | |
--create-github-release | Whether to create a GitHub release after build (bool). | false |
--pre-release | Whether 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.
- Environment
- NUKE Parameters
Variable | Description | Default | Source |
---|---|---|---|
ArtifactsDir | Directory path for storing Node.js build artifacts. | artifacts | Node |
TemplatesDir | Directory path for Dockerfile templates. | /nuke/templates | Docker |
Dockerfile | Path to the Dockerfile. | Dockerfile | Docker |
ImageTag | Tag for the container image. | container-app | Docker |
RegistryUrl | Registry URL for pushing the Docker image. | Docker | |
RegistryUser | Registry user name. | Docker | |
RegistryToken | Registry authentication token. | Docker | |
CreateGitHubRelease | Whether to create a GitHub release after build (bool). | false | Docker |
PreRelease | Whether to mark the GitHub release as pre-release (bool) | false | Docker |
Parameter | Description | Default | Source |
---|---|---|---|
--artifacts-dir | Directory path for storing Node.js build artifacts. | artifacts | Node |
--templates-dir | Directory path for Dockerfile templates. | /nuke/templates | Docker |
--docker-file | Path to the Dockerfile. | Dockerfile | Docker |
--image-tag | Tag for the container image. | container-app | Docker |
--registry-url | Registry URL for pushing the Docker image. | Docker | |
--registry-user | Registry user name. | Docker | |
--registry-token | Registry authentication token. | Docker | |
--create-github-release | Whether to create a GitHub release after build (bool). | false | Docker |
--pre-release | Whether to mark the GitHub release as pre-release (bool) | false | Docker |
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.
- Environment
- NUKE Parameters
Variable | Description | Default |
---|---|---|
ChangeLogSource | Source for changelog generation (null/""/tag/"all"). | null (last tag) |
Parameter | Description | Default |
---|---|---|
--change-log-source | Source for changelog generation (null/""/tag/"all"). | null (last tag) |
ChangeLogSource Options:
null
or""
(empty): Generate changelog since the last Git tagall
: Generate complete commit historyspecific-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.
- Environment
- NUKE Parameters
Variable | Description | Default |
---|---|---|
ArtifactsDir | Directory path for storing build artifacts. | artifacts |
Parameter | Description | Default |
---|---|---|
--artifacts-dir | Directory 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