Skip to content

petit-nuage/cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 

Repository files navigation

How to use

Python requirements

pip install fabric
pip install pystache

Installation

  1. Just pull this repository
  2. source bin/flow.sh
  3. Write your configuration file

Configuration file (default: flow.json)

{
	// Project
	"project": {
		"name": "cake-blog",
		"repository": "git@github.com:nicolasramy/cakephp-blog.git"
	},

	// Roles
	"roles": {
		"local": "localhost",
		"test": "localhost",
		"stage": "www-data@domain.dev",
		"master": "www-data@domain.prod"
	},

	// Environments
	// Local
	"local": {},
	// Stage
	"stage": {
		"env": "stage",
		"host": "www-data@domain.dev",
		"workspace": "/var/www",
		"app": {
			"type": "cakephp",
			"web": "nginx_phpfpm",
			"databases": {
				"default": {
					"hostname": "localhost",
					"username": "root",
					"password": "",
					"port": 3306
				}
			}
		}
	},
	// Test
	"test": {},
	// Deploy
	"deploy": {}
}

Server requirements

  • You have to push your ssh public key on your server for the correct user.
  • Create a virtual host configuration for your stage domain. (i.e. ASAP)
  • Add your public key on your git hosting provider

man

flow command branch

The most commonly command used flow commands are:
    build   Build package based on branch
    deploy  Deploy master branch to production
    test    Test a branch
    stage   Create or synchronise stage environment for branch
    unstage   Remove stage environment for branch

For instance

Only stage and unstage work.

It's based on workspace and repository. This 2 sub modules do some stuffs with fabric. I'm really happy of this simplification of automation. System operations had never been so simple.

Next step

I have to finish the stage part. I want to add a configuration loader for specific application as:

  • CakePHP 2
  • Symfony 2
  • WordPress
  • AngularJS
  • Flask

Prepare build command. What kind of test ? How to prepare a build and how to deploy it on master ...

About

Flow is a simple Continuous Delivery system based on git (flow) & Fabric for JavaScript, PHP and Python web applications packaged in Docker's containers

Resources

Stars

Watchers

Forks

Packages

No packages published