This repository contains third party recipes to integrate with deployer.
First install this repository as a dev dependency.
For Deployer 4.x
composer require --dev deployer/recipes
For Deployer 3.x
composer require --dev "deployphp/recipes ~3.0"
For Deployer 2.x
composer require --dev "deployphp/recipes ~2.0"
Include recipes as desired.
// deploy.php
require 'vendor/deployer/recipes/cachetool.php';
Recipe | Docs | Usage |
---|---|---|
cachetool | read | require 'vendor/deployer/recipes/cachetool.php'; |
cloudflare | read | require 'vendor/deployer/recipes/cloudflare.php'; |
hipchat | read | require 'vendor/deployer/recipes/hipchat.php'; |
local | read | require 'vendor/deployer/recipes/local.php'; |
newrelic | read | require 'vendor/deployer/recipes/newrelic.php'; |
phinx | read | require 'vendor/deployer/recipes/phinx.php' |
rabbit | read | require 'vendor/deployer/recipes/rabbit.php'; |
rsync | read | require 'vendor/deployer/recipes/rsync.php'; |
slack | read | require 'vendor/deployer/recipes/slack.php'; |
npm | read | require 'vendor/deployer/recipes/npm.php'; |
All code contributions must go through a pull request and be 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
4.x
then create your branch based onmaster
- If the recipe is for Deployer
3.x
then create your branch based on3.x
- 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 could base your documentation on 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 for your pull request.
To ensure a consistent code base, you should make sure the code follows PSR-2.
For easier integration in existing projects and fewer changes in your recipe (and/or docs for it) you should try and follow these general guidelines:
- Use short file names for recipes, e.g.
ftp
instead offtp_upload_to_server_recipe_by_me
- Prefix all tasks in recipe with your recipe name. If you have a task named
mytest
inmyrecipe
it should be namedmyrecipe:mytest
- Use global settings prefixed by your recipe name. If you have one setting, give it the same name as your recipe. If you have multiple settings, use an associative array
- Use environment variables prefixed by your recipe name. If you have an environment variable named
better_path
in recipemyrecipe
, call itmyrecipe_better_path
- Do not override existing tasks (for example those in
common.php
). Instead document thoroughly how tasks from your recipe can be integrated into the workflow - If your recipe depends on another (be it included in deployer or 3rd party) document it thoroughly.
It's better for the end user to use
require_once
indeploy.php
than to force dependencies.
Licensed under the MIT license.