soviann/deploy-tasks-bundle
soviann/deploy-tasks-bundle provides a structured way to define and run deployment tasks in Laravel/PHP projects. Organize repeatable release steps, automate routine deploy actions, and keep workflows consistent across environments with simple, reusable task definitions.
Start by installing the package and reviewing its config, migrations, and console command registration. Look first for the package README and any config/deploytasks.php-style configuration to understand how deploy tasks, task groups, and execution records are stored. Confirm which storage backend you are using: JSON/filesystem or DBAL.
The first practical use case is defining deploy tasks in code, running them through the package’s normal Artisan entry point, and then inspecting execution history. In v0.6.0, the new deploytasks:prune command is the first thing to try after removing or renaming tasks/group slots:
php artisan deploytasks:prune --dry-run
Review the dry-run output before pruning anything. Once the scope looks correct, run it interactively or use --force in automation.
Use the package as the source of truth for deploy task definitions, then treat execution records as historical data that can become stale when tasks or group slots are deleted from code. A typical day-to-day workflow is:
deploytasks:prune --dry-run to inspect orphaned execution records.--force / --no-interaction in CI/CD and scheduled maintenance.Useful patterns:
--force and appropriate logging.--group when only one task group was removed or renamed.--dry-run in deployment pipelines as an audit step, then run the real prune only when the diff is expected.--force only where the environment is non-interactive and the scope is known.The command is especially relevant after refactors that delete tasks or group slots, because those changes can leave execution records orphaned in JSON/filesystem or DBAL storage.
deploytasks:prune --dry-run after any task/group cleanup.--dry-run is your friend. Use it first in every environment, especially production, and compare the reported records against recent task/group changes.--force or --no-interaction only for automation where the scope has already been validated.--group filtering is useful for targeted cleanup, but verify group names carefully; a typo may produce an empty or unexpected scope.How can I help you explore Laravel packages today?