u-deploy / taxi
Multi repo manager for Laravel Valet
Installs: 9
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 2
Type:project
Requires
- php: ^8.0
- guzzlehttp/guzzle: ^7.5
- illuminate/collections: ^8.0|^9.0|^10.5
- illuminate/support: ^8.0|^9.0|^10.5
- laravel/valet: ^4.0
- opis/json-schema: ^2.3
- symfony/process: ^5.0|^6.0
Requires (Dev)
- laravel/pint: ^1.7
- mockery/mockery: ^1.5
- yoast/phpunit-polyfills: ^0.2.0
This package is auto-updated.
Last update: 2024-10-28 00:26:20 UTC
README
Introduction
A multi-site manager for Laravel Valet. Easily manage local deployments of multiple web applications, for easier developer startup. Quickly reset site managed by uDeploy Taxi, stashing changes as needed to bring all sites up to date fast, ideal for QA and local Testers.
Get Started
Prerequisite:
This application requires Laravel Valet to be installed.
First install via composer;
composer global require u-deploy/taxi
Ensure that the ~/.composer/vendor/bin
is in your PATH.
Then run:
taxi install
In order to run certain commands (like Valet) sudo is required. Running this command will add taxi to the sudoer file.
taxi trust
If you wish to remove this privilege then run: taxi trust --off
Start using Taxi.
- Generate a taxi.json file in a empty directory.
Running this command
taxi call
Will place an example taxi.json file in the current directory.
- Use an existing taxi.json file hosted anywhere.
taxi call https://raw.githubusercontent.com/u-deploy/taxi/main/cli/stubs/taxi.json
Will download the taxi.json file into the current directory.
Build
Once you have the taxi.json file in the directory and set-up for your needs, you can then run
taxi build
This will clone the repos listed in the taxi.json file and also any build commands defined. The site will automatically be linked with Laravel Valet and isolate PHP version (if set) and enable https (secure).
Once the build is successful, you can start using your interlinked applications.
Reset
Ideal for QA or testers, or maybe a general reset for local development. Running;
taxi reset
Will reset any repositories listed in the taxi.json back to their defined default branches. Any uncommited changes will be stashed. Also the reset commands will be run, this is ideal if assets need to be recompiled.
Commands
Below is a comprehensive list of available commands:
taxi list
List all commands available by Taxi
taxi install
Install taxi locally, this creates a symlink to your users bin.
taxi trust
Adds taxi to sudoers so that commands can be run silently.
taxi trust --off
Removes taxi from sudoers.
taxi call
Generate an example taxi.json file in the current directory.
taxi call https://gist.githubusercontent.com/RichardStyles/5f7f0c1b464aa33c2ac178807cf8e906/raw/dacbeaf9cc3baad04ec649271b9d5d9a579718ce/taxi-example.json
Pull a taxi.json configuration from an external site or repository.
taxi build
Downloads all sites and runs the associated commands, build hooks run first followed by site specific post-build commands.
taxi reset
Resets all sites back to the default branch, stashing changes. Then runs reset hooks followed by site specific post-reset commands.
taxi valet
List all Laravel Valet sites, including if used their taxi.json configuration files
License
uDeploy Taxi is open-sourced software licensed under the MIT license.