u-deploy/taxi

Multi repo manager for Laravel Valet

Maintainers

Details

github.com/u-deploy/taxi

Source

Issues

Installs: 5

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 1

Forks: 0

Open Issues: 2

Type:project

V0.1.0 2023-06-14 20:38 UTC

This package is auto-updated.

Last update: 2024-04-27 23:21:02 UTC


README

Latest Version on Packagist Total Downloads

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.

  1. 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.

  1. 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.