This repository contains third party recipes to integrate with deployer.
First install this repository as a dev dependency.
For Deployer 3.x
$ php composer.phar require --dev "deployphp/recipes ~3.0"
For Deployer 2.x
$ php composer.phar require --dev "deployphp/recipes ~2.0"
Include the recipes to your will.
// deploy.php
require 'vendor/deployphp/recipes/recipes/cachetool.php';
Recipe | Docs | Usage |
---|---|---|
cachetool | read | require 'vendor/deployphp/recipes/recipes/cachetool.php'; |
local | read | require 'vendor/deployphp/recipes/recipes/local.php'; |
newrelic | read | require 'vendor/deployphp/recipes/recipes/newrelic.php'; |
rabbit | read | require 'vendor/deployphp/recipes/recipes/rabbit.php'; |
rsync | read | require 'vendor/deployphp/recipes/recipes/rsync.php'; |
slack | read | require 'vendor/deployphp/recipes/recipes/slack.php'; |
All code contributions must go through a pull request and approved by a core developer before being merged. This is to ensure proper review of all the code.
- Fork and clone.
- Create a branch.
- If the recipe is for Deployer
3.x
then create your branch based onmaster
- If the recipe is for Deployer
2.x
then create your branch based on the2.x
branch
- If the recipe is for Deployer
- Add your recipe to the
recipes
folder, it must be licensed as MIT. - Add documentation in Markdown for your recipe to the
docs
folder, you can base your documentation from cachetool.md as it is fairly complete. - Add your recipe to the table above in
README.md
, please use alphabetical order. - Commit, push and send us a pull request.
- You can use the documentation of your recipe as a description to your pull request.
To ensure a consistent code base, you should make sure the code follows the Coding Standards which we borrowed from Symfony.
For easier integration in existing project, and fewer changes in your recipe and/or docs for it, you should try and follow this general guidelines:
- Use short file names for recipes. Eg
ftp
instead offtp_upload_to_server_recype_by_me
- Prefix all tasks in recipe with recipe name. if You have task named
mytest
inmyrecipe
it should be namedmyrecipe:mytest
- Use global settings keyed by your recipe name. If You have one setting, name it the same as Your recipe. If You have multiple settings, use associative array
- Use environment variables prefixed by Your recipe name. If You have environment varaible named
better_path
in recipemyrecipe
, call itmyrecipe_better_path
- Do not override existing tasks (for example - those in
common.php
). Instead document throughtly how tasks from your recipe can be integrated into workflow - If your recipe depends on another (be it included in deployer or 3rd party) - document it throughtly. It's better for user to use
require_once
indeploy.php
, rather than force dependecies.
Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php