thepublicgood / attache
A highly opinionated deployment tool for Laravel applications.
Requires
- php: ^7.4|^8.0
- ext-json: *
- guzzlehttp/guzzle: ^6.5|^7.1
- illuminate/support: ^6.18|^7.1|^8.0
- symfony/console: ^4.4|^5.0
- symfony/process: ^4.4|^5.0
Requires (Dev)
- mockery/mockery: ^1.3
- phpunit/phpunit: ^8.5|^9.0
- roave/security-advisories: dev-master
- symfony/var-dumper: ^4.4|^5.0
- 2.0.x-dev
- dev-master / 1.x-dev
- 0.8.x-dev
- 0.7.10
- v0.7.9
- v0.7.8
- v0.7.7
- v0.7.6
- v0.7.5
- v0.7.4
- v0.7.3
- v0.7.2
- v0.7.1
- v0.7.0
- v0.6.5
- v0.6.4
- v0.6.3
- v0.6.2
- v0.6.1
- v0.6.0
- v0.5.3
- v0.5.1
- v0.5.0
- v0.4.15
- v0.4.14
- v0.4.13
- v0.4.12
- v0.4.11
- v0.4.10
- v0.4.9
- v0.4.7
- v0.4.6
- v0.4.5
- v0.4.4
- v0.4.3
- v0.4.2
- v0.4.1
- v0.4.0
- v0.3.2
- v0.3.1
- v0.3.0
- v0.2.3
- v0.2.2
- v0.2.1
- v0.2.0
- v0.1.1
- v0.1.0
- dev-develop
- dev-feature/deployment-locking
This package is auto-updated.
Last update: 2022-07-12 14:48:49 UTC
README
After going backwards and forewards on this one for a while, I've decided to archive this project. I've had a good run with Attaché, but I haven't used it for a project in a long while and it really doesn't have a huge demand. I haven't updated the project for a while and although there was an attempt to write a version 2, there are better and more robust deployment options out there. I myself have returned to using plain old Envoy as it fits really nicely into my CD pipeline.
In it's place, I'm writing a simple package that includes some of the more useful tools from Attache. This works well in conjuction with something like Envoy. Attaché will no longer get any updates or changes going forward.
Attaché is a deployment tool for Laravel originally based on the Laravel Envoy task runner and built around the ideas I wrote here. The original version of Attaché was actually just a wrapper around Envoy with a predefind script (hence the name). It's evolved quite a bit since then.
Learn how to use Attaché: Official Documentation
Quick Start
Install Attache globally using Composer:
composer global require thepublicgood/attache
Create a new .attache.json
configuration file in your project with:
attache init
Update the config file to reflect your server and repository settings making sure the specified root directory exists on the server. Then install your project onto the server with:
attache install
Now update the new .env
file on your server, cache the config, and whatever other tasks you need to complete. That's it! Deployment complete.
Whenever you need to deploy a new version, simply run:
attache deploy
You can see all the releases on the server with:
attache releases:list
And clean them up with:
attache releases:prune
For more things you can do, simple run attache
without any commands to get a list.
Happy deploying!