Build an application artifact from a dPanel application definition.
The target host must already have the runtime binaries required by the application definition, for example Go, Node.js, PHP, Python, Ruby, or Bun.
build_id: artifact id. dPanel uses this as the build log boundary.build_appname: application definition filename when reading from disk.build_application_from_input: application definition object passed by dPanel.build_upload_artifact: archive/upload enabled flag.build_user: Linux user that runs the build.build_destination: cloned repository location.build_log: deprecated. Build command output is emitted to stdout/stderr for the dPanel Ansible callback and is no longer appended to local log files.
Each build step is read from
build_application.build.target.machine.steps. Step name is used as the
frontend log group label. Commands can be provided with either cmd or
command.
The role emits a structured metadata marker before each command. The embedded dPanel Ansible callback removes that marker from visible logs and attaches these attributes to every output line:
artifact_idbuild_idbuild_step_indexbuild_step_numberbuild_step_namebuild_step_keybuild_command_indexbuild_command_numberbuild_command
None.
- hosts: servers
roles:
- role: dpanel-build
build_id: 2852
build_user: dpanel
build_destination: /home/dpanel/apps/my-app
build_application_from_input:
setup:
language:
name: go
version: "1.24.2"
build:
target:
machine:
workdir: "."
steps:
- name: Build application from GitHub
command:
- ./scripts/build.sh
BSD
An optional section for the role authors to include contact information, or a website (HTML is not allowed).