PHPackages                             netresearch/kite - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [DevOps &amp; Deployment](/categories/devops)
4. /
5. netresearch/kite

AbandonedArchivedLibrary[DevOps &amp; Deployment](/categories/devops)

netresearch/kite
================

Yet another build and deployment tool - inspired by TYPO3.Surf

1.8.0(5y ago)5341MITPHPPHP &gt;=5.4.0

Since Feb 16Pushed 5y ago4 watchersCompare

[ Source](https://github.com/netresearch/kite)[ Packagist](https://packagist.org/packages/netresearch/kite)[ Docs](http://www.netresearch.de/)[ RSS](/packages/netresearch-kite/feed)WikiDiscussions master Synced 4w ago

READMEChangelog (1)Dependencies (3)Versions (29)Used By (0)

[![Kite](res/logo/logo.png)](res/logo/logo.png)

---

Kite: Make your projects fly
============================

[](#kite-make-your-projects-fly)

[![http://img.shields.io/travis/netresearch/kite.svg?style=flat-square](https://camo.githubusercontent.com/c0262c08415e3ab0ce162d393b98b9fe10a77de0353bcffa5b8ee6047c21c478/687474703a2f2f696d672e736869656c64732e696f2f7472617669732f6e657472657365617263682f6b6974652e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/netresearch/kite)[![https://img.shields.io/packagist/v/netresearch/kite.svg?style=flat-square](https://camo.githubusercontent.com/b18a22e58097e8f1ccf646c48821db03643542270ff04f12be93e986ea5c985b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e657472657365617263682f6b6974652e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/netresearch/kite)[![https://img.shields.io/scrutinizer/g/netresearch/kite.svg?style=flat-square](https://camo.githubusercontent.com/b8f5423f90f9c279fbc4a42f7df2977b13fa46e72bf6d61fb373969f7d3afc45/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6e657472657365617263682f6b6974652e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/netresearch/kite/?branch=master)Kite is a build and automation tool inspired by TYPO3.Surf, written in PHP and utilizing PHP for configuration. It's...

- easy to use
    - Kite ships with several preconfigured tasks, workflows and presets - just use a preset and be done.
    - Jobs and workflows are available on the command line and there's also `--help` available for each of them.
- flexible
    - The configuration can be completely done by arrays, fiddling your tasks together or by workflow classes that have all the tasks available as methods or both.
    - Jobs, workflows and tasks can easily be reused at any point - new jobs can be composed of any of them.
    - The variable system provides a JavaScript like variable inheritance: Sub tasks can access variables from parent but can set them on their own as well
    - Jobs and workflows can expose variables as command line options and arguments.
    - Advanced logic during execution possible by using [Symfony Expression Language](http://symfony.com/doc/current/components/expression_language/index.html)
- node based
    - Unlimited number of remote targets possible
    - Nodes can be set globally or only for specific (sub) tasks
    - Remote tasks operate on all current nodes
- safe
    - Everything can be `--dry-run` to preview what happens (yet the tasks to include need to be configured)
    - The complete debug output of previous tasks can be viewed with `kite log`

Contents

- [Installation](#installation)
    - [Prerequesites](#prerequesites)
        - [Locally](#locally)
        - [Remote](#remote)
    - [Global installation](#global-installation)
    - [Per project installation](#per-project-installation)
- [Configuration](#configuration)
    - [Concepts](#concepts)
    - [Variables](#variables)
        - [Variable scopes](#variable-scopes)
        - [Global variables](#global-variables)
        - [Special variables](#special-variables)
        - [Available functions](#available-functions)
    - [Kite configuration file](#kite-configuration-file)
    - [Jobs](#jobs)
    - [Nodes](#nodes)
    - [Development packages](#development-packages)
    - [Deployment configuration](#deployment-configuration)
        - [Stages](#stages)
        - [Deployment](#deployment)
- [Usage](#usage)
    - [Common commands](#common-commands)
    - [Common jobs](#common-jobs)
    - [Development workflow](#development-workflow)
    - [Deployment jobs](#deployment-jobs)
    - [Trouble shooting](#trouble-shooting)

Appendix

- [Task and workflow reference](docs/reference.rst)

[Installation](#contents)
-------------------------

[](#installation)

You can install kite globally (recommended) or per project

### [Prerequesites](#contents)

[](#prerequesites)

#### [Locally](#contents)

[](#locally)

- PHP 5.4+ (for the composer installation, the application can have lower versions)
- Linux shell (windows might work but is untested)
- SSH/SCP installed (for working on nodes)
- git installed (if you use git tasks)
- composer installed (if you use composer tasks)

#### [Remote](#contents)

[](#remote)

- PHP
- SSH access

### [Global installation](#contents)

[](#global-installation)

```
composer global require "netresearch/kite"
~/.composer/vendor/bin/kite -V
```

### [Per project installation](#contents)

[](#per-project-installation)

```
cd /var/www/project
composer require "netresearch/kite"
vendor/bin/kite -V
```

[Configuration](#contents)
--------------------------

[](#configuration)

### [Concepts](#contents)

[](#concepts)

- Tasks
    - Smallest, predefined steps
    - See the [task reference](docs/reference.rst#tasks) for tasks shipped with kite
- Workflows
    - Special kind of task that allows to composer it's subtasks in a class
    - Top level workflows can expose command line arguments and options
    - See the [workflow reference](docs/reference.rst#workflows) for workflows shipped with kite
- Jobs
    - Outermost kind of task
    - Available as commands on command line
    - Set of tasks and/or workflows defined in arrays (in arbitrary depth)
    - Configurable command line arguments and options
- Presets
    - Configuration presets (including f.i. common jobs)
- Configuration file (typo3conf/Kite.php, app/etc/kite.php, kite.php)
    - Defines the jobs; can load and override presets

### [Variables](#contents)

[](#variables)

The fact that all of the configured tasks are to be ran automated, introduces the need for a variable system that allows you to read from dynamic configurations or change it. Kite provides a basic syntax to access those variables from within strings (all options of tasks, nodes etc.):

Each string *inside curly braces* inside an option string are evaluated as [Symfony Expression Language](http://symfony.com/doc/current/components/expression_language/index.html)expressions - f.i.

```
