ALOps Docker Start¶
Start a Business Central Docker container for CI/CD pipelines.
| Property | Value |
|---|---|
| Task name (Azure DevOps) | ALOpsDockerStart@3 |
| Action name (GitHub) | alops-dockerstart |
| Version | 3.0.0 |
| Category | Utility |
| OS requirement | Both |
| Preview | yes |
Start or reuse a Business Central Docker container. Handles Docker registry authentication (username/password), container creation with feature toggles, SQL database configuration, DLL add-in installation, Azure Key Vault setup, and build tagging.
Inputs¶
docker¶
| Name | Type | Required | Default | Platform | Description |
|---|---|---|---|---|---|
fixed_tag |
Text | no | (empty) | Both | Fixed container label. When set, the container is tagged with this value instead of the build ID. Enables container reuse across builds. |
ignore_no_container_warning |
Boolean | no | true |
Both | Suppress the warning when no existing container is found for reuse. |
docker_image |
Text | no | (empty) | Both | Full Docker image name including tag, for example mcr.microsoft.com/businesscentral:ltsc2022. Leave empty to use the default BC sandbox image. |
docker_pull |
Boolean | no | true |
Both | Pull the Docker image before creating the container. Disable to use a locally cached image. |
accept_image_eula |
Boolean | no | true |
Both | Accept the End User License Agreement for the Business Central Docker image. |
accept_image_outdated |
Boolean | no | true |
Both | Accept an outdated Docker image without failing the task. |
container_restart |
PickList | no | no |
Both | Docker restart policy for the container. Options: no, on-failure, unless-stopped, always. |
memory_gb |
Text | no | -1 |
Both | Memory limit in GB for the container. Set to -1 for no limit. |
docker_parameters |
MultiLine | no | (empty) | Both | Additional parameters passed to docker create. One parameter per line. |
features¶
| Name | Type | Required | Default | Platform | Description |
|---|---|---|---|---|---|
enable_symbol_loading |
Boolean | no | false |
Both | Enable symbol loading in the Business Central server instance. |
enable_api_services |
Boolean | no | false |
Both | Enable API services in the Business Central server instance. |
multitenant |
Boolean | no | false |
Both | Configure the Business Central server instance for multitenancy. |
authentication¶
| Name | Type | Required | Default | Platform | Description |
|---|---|---|---|---|---|
docker_authentication |
PickList | no | None |
Both | Authentication method for the Docker registry. Options: None, UsernamePassword. |
docker_username |
Text | no | (empty) | Both | Username for Docker registry authentication. |
docker_password |
Secret | no | (empty) | Both | Password for Docker registry authentication. Store this in a pipeline secret variable. |
docker_registry |
Text | no | (empty) | Both | Docker registry URL. When empty, the registry is derived from the image name. |
database¶
| Name | Type | Required | Default | Platform | Description |
|---|---|---|---|---|---|
sql_server |
Text | no | (empty) | Both | External SQL Server hostname. Leave empty to use the container's built-in SQL instance. |
sql_server_instance |
Text | no | (empty) | Both | SQL Server named instance. |
sql_database |
Text | no | (empty) | Both | SQL database name to use for the Business Central service tier. |
sql_database_user |
Text | no | (empty) | Both | SQL Server authentication username. |
sql_database_user_password |
Secret | no | (empty) | Both | SQL Server authentication password. Store this in a pipeline secret variable. |
sql_backup_file |
Text | no | (empty) | Both | Path to a .bak file to restore into the container's SQL instance. |
licensing¶
| Name | Type | Required | Default | Platform | Description |
|---|---|---|---|---|---|
licensefile |
Text | no | (empty) | Both | Path to a Business Central license file (.flf or .bclicense) to import into the container. |
encryption_key |
Text | no | (empty) | Both | Path to an encryption key file to import into the container. |
scheduler¶
| Name | Type | Required | Default | Platform | Description |
|---|---|---|---|---|---|
taskscheduler |
PickList | no | Keep |
Both | Configure the BC task scheduler. Keep preserves the default, Enable starts it, Disable stops it. Options: Keep, Enable, Disable. |
keyvault¶
| Name | Type | Required | Default | Platform | Description |
|---|---|---|---|---|---|
keyvault_pfxfile |
Text | no | (empty) | Both | Path to the PFX certificate file for Azure Key Vault authentication. |
keyvault_pfxpassword |
Secret | no | (empty) | Both | Password for the PFX certificate. Store this in a pipeline secret variable. |
keyvault_clientid |
Text | no | (empty) | Both | Azure AD application (client) ID used for Key Vault authentication. |
keyvault_publisher_validation |
Boolean | no | false |
Both | Enable publisher validation for Key Vault extension settings. |
Outputs¶
| Name | Description |
|---|---|
container_id |
The Docker container ID. |
container_label |
The label used to tag the container. |
Usage¶
- task: ALOpsDockerStart@3
displayName: 'ALOps Docker Start'
inputs:
fixed_tag: # Fixed container label. When set, the container is tagged with this value instead of the build ID. Enables container reuse across builds. $(fixed_tag)
ignore_no_container_warning: True # Suppress the warning when no existing container is found for reuse. $(ignore_no_container_warning)
docker_image: # Full Docker image name including tag, for example mcr.microsoft.com/businesscentral:ltsc2022. Leave empty to use the default BC sandbox image. $(docker_image)
docker_pull: True # Pull the Docker image before creating the container. Disable to use a locally cached image. $(docker_pull)
accept_image_eula: True # Accept the End User License Agreement for the Business Central Docker image. $(accept_image_eula)
accept_image_outdated: True # Accept an outdated Docker image without failing the task. $(accept_image_outdated)
container_restart: no # Docker restart policy for the container. $(container_restart)
memory_gb: -1 # Memory limit in GB for the container. Set to -1 for no limit. $(memory_gb)
docker_parameters: # Additional parameters passed to docker create. One parameter per line. $(docker_parameters)
enable_symbol_loading: False # Enable symbol loading in the Business Central server instance. $(enable_symbol_loading)
enable_api_services: False # Enable API services in the Business Central server instance. $(enable_api_services)
multitenant: False # Configure the Business Central server instance for multitenancy. $(multitenant)
docker_authentication: None # Authentication method for the Docker registry. $(docker_authentication)
docker_username: # Username for Docker registry authentication. $(docker_username)
docker_password: # Password for Docker registry authentication. Store this in a pipeline secret variable. $(docker_password)
docker_registry: # Docker registry URL. When empty, the registry is derived from the image name. $(docker_registry)
sql_server: # External SQL Server hostname. Leave empty to use the container's built-in SQL instance. $(sql_server)
sql_server_instance: # SQL Server named instance. $(sql_server_instance)
sql_database: # SQL database name to use for the Business Central service tier. $(sql_database)
sql_database_user: # SQL Server authentication username. $(sql_database_user)
sql_database_user_password: # SQL Server authentication password. Store this in a pipeline secret variable. $(sql_database_user_password)
sql_backup_file: # Path to a .bak file to restore into the container's SQL instance. $(sql_backup_file)
licensefile: # Path to a Business Central license file (.flf or .bclicense) to import into the container. $(licensefile)
encryption_key: # Path to an encryption key file to import into the container. $(encryption_key)
taskscheduler: Keep # Configure the BC task scheduler. Keep preserves the default, Enable starts it, Disable stops it. $(taskscheduler)
keyvault_pfxfile: # Path to the PFX certificate file for Azure Key Vault authentication. $(keyvault_pfxfile)
keyvault_pfxpassword: # Password for the PFX certificate. Store this in a pipeline secret variable. $(keyvault_pfxpassword)
keyvault_clientid: # Azure AD application (client) ID used for Key Vault authentication. $(keyvault_clientid)
keyvault_publisher_validation: False # Enable publisher validation for Key Vault extension settings. $(keyvault_publisher_validation)
- name: ALOps Docker Start
uses: HodorNV/ALOps-V3/alops-dockerstart@v3 <!-- TODO: confirm action repo path -->
with:
fixed_tag: ''
ignore_no_container_warning: 'true'
docker_image: ''
docker_pull: 'true'
accept_image_eula: 'true'
accept_image_outdated: 'true'
container_restart: 'no'
memory_gb: '-1'
docker_parameters: ''
enable_symbol_loading: 'false'
enable_api_services: 'false'
multitenant: 'false'
docker_authentication: 'None'
docker_username: ''
docker_password: ''
docker_registry: ''
sql_server: ''
sql_server_instance: ''
sql_database: ''
sql_database_user: ''
sql_database_user_password: ''
sql_backup_file: ''
licensefile: ''
encryption_key: ''
taskscheduler: 'Keep'
keyvault_pfxfile: ''
keyvault_pfxpassword: ''
keyvault_clientid: ''
keyvault_publisher_validation: 'false'