Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bretrzaun/deploymentcommand
Console-Command to deploy an application to remote server(s).
https://github.com/bretrzaun/deploymentcommand
deployment rsync symfony-console
Last synced: 4 days ago
JSON representation
Console-Command to deploy an application to remote server(s).
- Host: GitHub
- URL: https://github.com/bretrzaun/deploymentcommand
- Owner: bretrzaun
- Created: 2017-11-29T15:56:51.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-05-28T15:30:02.000Z (over 2 years ago)
- Last Synced: 2024-10-12T11:15:54.114Z (about 1 month ago)
- Topics: deployment, rsync, symfony-console
- Language: PHP
- Size: 48.8 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Deployment Command
[![Latest Stable Version](https://poser.pugx.org/bretrzaun/deployment-command/v)](//packagist.org/packages/bretrzaun/deployment-command)
[![Build Status](https://travis-ci.org/bretrzaun/DeploymentCommand.svg?branch=master)](https://travis-ci.org/bretrzaun/DeploymentCommand)
[![License](https://poser.pugx.org/bretrzaun/deployment-command/license)](//packagist.org/packages/bretrzaun/deployment-command)Symfony Console command to deploy an application to remote server(s).
## Installation
Install via Composer:
```composer require bretrzaun/deployment-command```
## Configuration
For each environment create a configuration file named like the environment.
The nodes must be accessible via SSH-based authentication or a keyfile can be given.
### Example
```json
{
"server" : {
"nodes" : ["user@my-server"],
"keyfile": "/path-to/keyfile",
"target" : "/target-folder",
"scripts" : {
"pre-deploy-cmd" : [],
"post-deploy-cmd" : [
"command1",
"command2"
]
}
},
"scripts" : {
"pre-deploy-cmd" : [
"composer install --no-dev -o"
],
"post-deploy-cmd" : [
"composer install"
]
}
}
```### Options
In the `options` section the following nodes can be defined:
#### script-timeout
Process timeout in seconds for each local script. Default value: 120 seconds
#### sync-timeout
Process timeout in seconds for sync. Default value: 300 seconds
## Usage
Register the console command to a Symfony console application:
```php
$console->add(new DeploymentCommand('path/to/config-folder/'));
```