Skip to content

frequence-web/Go

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go

Go is a easy-to-use PHP deployment manager

But… Don't use it, it never pass the status of experiment. Use Deployer, Fabric or Capistrano. But not this thing. Please.

Installation

This tool is experimental, so there is no installation process for now.

You must clone the application and link it to your path:

$ cd
$ git clone git@github.com:Nek-/Go.git
$ sudo ln -vs ~/Go/go /usr/bin/go
$ sudo chmod +x ~/Go/go

Init

$ go init [config dir]

This will create all the files needed by go to deploy your application.

Config

Edit the deploy.yml and Deploy.php files in your config dir (config/go by default)

Usage

$ go deploy [environment] [--go]

Use the [--go] option to process to the real deployment.

Deployment strategies

Go supports multiple deployment strategies. For now, there's two :

Rsync
Deploys your code in a remote directory via rsync
VersionedRsync
Like Rsync but puts code into a subdirectory (no `ln`, you can do it :))

SSH

Go uses the (alpha) OOSSH lib, and allows you to run commands on your remote server. The available methods are, in the Deploy.php class :

$this->remoteExec($command);
$this->sudo($command);
$this->symlink($from, $to);
$this->copy($from, $to, $recursive = false);

Note that the copy commands call cp -p and preserves owners, groups, and horodating. The classic usage of it is in the pre/post deploy commands (needs to clean cache ?)

Pre/post deploy hooks

You can execute some code before and/or after your deployment by overriding the pre/postDeploy methods tour {config_dir}/Deploy.php. These methods are also env-duplicated. If your environment is production you can override pre/postDeployProduction.

These methods takes a $go boolean as parameter to execute or not some commands when dry-run.

Help

you can have (a bit of) help about go commands by typing

$ go help [command]

You can also mail me at yohan@giarel.li

About

A simple PHP deployment solution

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages