famoser / agnes
Creates & deploys releases safely to various environments.
Installs: 3 881
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 9
Requires
- ext-json: *
- ext-zip: *
- guzzlehttp/guzzle: ^7.2
- symfony/console: ^4.3 || ^5.0 || ^6.0 || ^7.0
- symfony/dotenv: ^4.3 || ^5.0 || ^6.0 || ^7.0
- symfony/yaml: ^4.3 || ^5.0 || ^6.0 || ^7.0
Requires (Dev)
This package is auto-updated.
Last update: 2025-02-17 10:38:31 UTC
README
Release and deploy safely.
Install with
composer require famoser/agnes --dev
Then run commands
php vendor/bin/agnes release v1.0 main`
commands
for details on the commands use the --help
argument.
to easily remember the order of arguments observe that the target is always first.
config
By default, the file called agnes.yml
in your project root is taken as configuration (use --config-file
to change).
Additionally to the config file you can supply a config folder which contains:
- additional
.yml
files which will all be merged with the main config file (handy separate policies & server config ) - other files which are needed for the installation but not part of the repository (like
.env.local
files)
In the config files, you can use placeholders like %env(KEY)
which are replaced by environment variables upon loading the config.
You can define environment variables in a .env
or .env.local
file in your project root.
Full example config in sample.yml.
advanced config
if you have an SSH connection configured you can speed up command execution greatly by caching the connection in ~/.ssh/config
:
Host *
ControlPath /tmp/ssh-%r@%h:%p
ControlMaster auto
ControlPersist yes