accompli/accompli

An easy to use and extendable deployment tool for PHP projects.

0.4.0 2017-02-24 14:52 UTC

README

Latest version on Packagist Latest pre-release version on Packagist Software License Build Status Coverage Status SensioLabsInsight StyleCI

An easy to use and extendable deployment tool for PHP projects.

C'est fini. Accompli!

View the complete documentation of Accompli on accompli.readme.io.

Installation using Composer

Run the following command to add the package to the composer.json of your project:

$ composer require accompli/accompli --dev

Versioning

Accompli uses Semantic Versioning 2 for new versions.

Usage

  1. Create an accompli.json defining the hosts to deploy to and the tasks to run during install and deployment.

By running the following command, Accompli will guide you in creating a basic accompli.json configuration:

$ vendor/bin/accompli init

Note that below example might not work for your project.

{
  "$extend": "accompli://recipe/defaults.json",
  "hosts": [
    {
      "stage": "test",
      "connectionType": "ssh",
      "hostname": "example.com",
      "path": "/var/www/example.com"
    }
  ],
  "events": {
    "subscribers": [
      {
        "class": "Accompli\\Task\\CreateWorkspaceTask"
      },
      {
        "class": "Accompli\\Task\\RepositoryCheckoutTask",
        "repositoryUrl": "https://github.com/example.com/example.com.git"
      },
      {
        "class": "Accompli\\Task\\DeployReleaseTask"
      },
      {
        "class": "Accompli\\Task\\MaintenanceModeTask"
      }
    ]
  }
}
  1. Run Accompli to install a release of your project: vendor/bin/accompli install-release <version>

  2. Run Accompli to deploy an installed release of your project: vendor/bin/accompli deploy-release <version> <stage>

For a more detailed description on how to use Accompli, please see the getting started page.

Credits and acknowledgements

Also see the list of contributors who participated in this project.

License

Accompli is licensed under the MIT License. Please see the LICENSE file for details.