A CLI tool to Quickly create On-Demand preview environment for your apps.
mehrancodes/laravel-harbor is a Laravel package for a cli tool to quickly create on-demand preview environment for your apps..
It currently has 99 GitHub stars and 101.113 downloads on Packagist (latest version v2.0.4).
Install it with composer require mehrancodes/laravel-harbor.
Discover more Laravel packages by mehrancodes
or browse all Laravel packages to compare alternatives.
Last updated
🚀 Update (February 25, 2024): Repository Name Change
We have officially changed the repository name from "Veyoze" to "Laravel Harbor." The new repository URL is now:
composer require mehrancodes/laravel-harbor
Please update your references and links accordingly.
In today's fast-paced software development world, the ability to quickly and efficiently test new features is a game-changer for teams aiming to maintain a competitive edge. Preview Environments serve as the critical testing grounds for new features, bug fixes, and updates before they are integrated into the main codebase. These environments are crafted on-demand to validate specific git branches, providing a transient yet powerful platform for thorough pre-merge testing.
"Don't merge until you preview" - with Laravel Harbor, ensure that excellence is the standard, not the exception.
See the documentation for detailed installation and usage instructions.
Use this checklist when provisioning new Harbor preview servers, especially when running multiple Redis instances on the same machine.
FORGE_ORGANIZATION with your Forge organization slug (new Forge API is org-scoped).8 GB for preview workloads with queues and Redis.maxmemory) and make sure total Redis limits plus PHP workers fit within available RAM.Use these examples as quick references when Harbor deploys fail in Forge.
Tunnel exited with a non-zero code [1].cannot lock ref 'refs/remotes/origin/<branch>' ... (unable to update local ref)is at <sha> but expected <sha>/home/forge/.ssh/authorized_keys/root/.ssh/authorized_keys/home/forge/.ssh/auth...); treat it as the same authorized_keys guidance.Failed to download <package> from dist ... make sure the directory is writable and you have internet connectivityNow trying to download from sourceRuntimeException: The provided cwd "" does not exist.Could not determine the current working directorySuggested checks:
forge.Illuminate\Foundation\ComposerScripts::postAutoloadDumpautoload_static.php ... [ParseError] syntax error, unexpected string content "/php"Suggested checks:
composer dump-autoload -o manually on the server in the release directory.vendor/composer/autoload_static.php line and trace the mapped file causing invalid PHP syntax.rm -rf vendor && composer install) to rule out corrupted generated autoload files.rm: cannot remove '.../vendor/composer': Directory not emptyCouldn't clone repository?Suggested checks:
vendor, temporary composer dirs) and retry install.forge user owns the directory tree and has full write permissions.not a git repository) PatternTunnel exited with a non-zero code [128].fatal: not a git repository (or any of the parent directories): .git.git metadata is missing/corrupted in the target path.Suggested checks:
.git exists in that directory.cd targets the repository root before any git command.We welcome contributions! Please see our CONTRIBUTING.md for details on how to contribute and the process for submitting pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
As this CLI tool has been crafted as an MVP and has undergone real-world testing, we're now focusing on enhancing its robustness and expanding its capabilities. Here's what's on our radar:
🛠️ Enhanced Error Handling: Aiming for comprehensive error handling throughout the entire CLI process to ensure smooth user experiences.
📘 Expanded Documentation: We'll be adding more examples showcasing the tool's versatility, such as:
🧪 Testing: Preparing unit tests and feature tests to ensure the tool's reliability and stability.