spatie / scotty
A beautiful SSH task runner
Requires
- php: ^8.4
- laravel-zero/framework: ^12.0.2
Requires (Dev)
- laravel/pint: ^1.25.1
- mockery/mockery: ^1.6.12
- pestphp/pest: ^3.8.4|^4.1.2
- phpstan/phpstan: ^2.1
README
Scotty is a tool that runs tasks on your remote servers over SSH. You write your tasks in a Scotty.sh file (plain bash with annotation comments), and Scotty takes care of connecting, running each script, and showing you exactly what's happening. It's fully compatible with Laravel Envoy, so you can use it as a drop-in replacement.
Here's what a Scotty.sh file looks like:
#!/usr/bin/env scotty # @servers remote=deployer@your-server.com # @macro deploy pullCode clearCache # @task on:remote pullCode() { cd /var/www/my-app git pull origin main } # @task on:remote clearCache() { cd /var/www/my-app php artisan cache:clear }
Run it with scotty run deploy.
Support us
We invest a lot of resources into creating best in class open source packages. You can support us by buying one of our paid products.
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on our contact page. We publish all received postcards on our virtual postcard wall.
Documentation
All documentation is available on our documentation site.
Acknowledgements
Scotty is built on the ideas and architecture of Laravel Envoy by Taylor Otwell. The Blade file parser includes code ported from Envoy's compiler. We're grateful for the foundation Envoy provided.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
License
The MIT License (MIT). Please see License File for more information.
