Deployment Service
Automated Deployment Service
Auto-generated documentation for the deployment module
Last Updated: 2026-05-06T07:42:11.999Z
Table of Contents
Overview
Automated Deployment Service
File Structure
deployment-service/logger.js
deployment-service/index.js
deployment-service/deployment.js
Components/Modules
deployment-service
deployment-service/index.js
Deployment Service Automated deployment service that listens for deployment triggers via MQTT and handles Docker container updates for the kiosk system. Features: - MQTT-based deployment triggering - Automated Docker image pulling and container restart - Deployment status reporting - Error handling and logging - Reconnection logic for MQTT broker Environment Variables: - MQTT_BROKER_URL: MQTT broker URL (default: mqtt://emqx) - MQTT_USERNAME: MQTT username (default: admin) - MQTT_PASSWORD: MQTT password - MQTT_PORT: MQTT port (default: 1883) - COMPOSE_PROJECT_NAME: Docker Compose project name MQTT Topics: - Subscribe: kiosk/deployment/trigger - Receives deployment requests - Publish: kiosk/deployment/status - Sends deployment status updates
Example:
// Trigger deployment via MQTT: mqtt publish -h emqx -t kiosk/deployment/trigger \ -m '{"service":"kiosk-server","action":"update"}'
MQTT Broker Configuration Configures connection parameters for the MQTT broker
MQTT Client Instance Maintains connection to the MQTT broker for deployment triggers
MQTT Connection Event Handler Subscribes to deployment topics when connected
MQTT Message Event Handler Processes incoming deployment requests
Parameters:
topic(string): - MQTT topic that received the messagemessage(Buffer): - Message payload
deployment-service/deployment.js
Execute shell command
Parameters:
command(string): - Command to execute
Returns:
Promise<{stdout: string, stderr: string}>:
Get Docker Compose project name from environment or default
Returns:
string:
Pulls/builds all images first, then starts all services at once
Returns:
Promise<object>:
Handle deployment automation via MQTT Executes docker compose pull, build emqx, and up -d
Returns:
Promise<object>: result
No comments to display
No comments to display