Coder Social home page Coder Social logo

chalasr / rchcapistranobundle Goto Github PK

View Code? Open in Web Editor NEW
11.0 1.0 2.0 1.83 MB

[NOT MAINTAINED] Continuous deployment for Symfony2+

Home Page: https://packagist.org/packages/rch/capistrano-bundle

License: Other

PHP 98.78% Makefile 0.41% Ruby 0.80%

rchcapistranobundle's Introduction

RCH/CapistranoBundle

Build Status SensioLabsInsight

Integrates deployment as part of your development environment.

  • Sets up a fast and automated deployment workflow
  • Creates stagings in configuration format (YAML, PHP, XML)
  • Controls tasks execution order through namespaces
  • Generates custom tasks and environment variables.

Prerequisites

  • Ruby >= 2.0

This version of the bundle requires Symfony 3+.
For a Symfony version between 2.4.x and the last LTS release, please use the 1.0 branch.

Installation

Download the bundle

$ composer require rch/capistrano-bundle:~2.0

This command requires you to have Composer installed globally, as explained in the installation chapter of the Composer documentation.

Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in the app/AppKernel.php file of your project:

// app/AppKernel.php

$bundles = array(
    // ...
    new RCH\CapistranoBundle\RCHCapistranoBundle(),
);

Install & Configure Capistrano

Build installation files for capistrano

$ app/console rch:deploy:install

Install dependencies

$ bundle install

Usage

Setup deployment configuration in interactive mode

$ app/console rch:deploy:setup

Build Stagings

# app/config/rch/stagings/[staging].yml

# Remote host
domain: 'ssh_host'
# Remote user
user: 'ssh_user'
# Remote key              
keys: '/home/ssh_user/.ssh/id_rsa'
# Forward Agent
forward_agent: 'false'
# Authentication mode
auth_methods: 'publickey password'
# Deployment path
deploy_to: '/path/to/deploy'            

Run deployment

$ app/console rch:deploy:run --staging-name=[STAGING-NAME]

Advanced usage

Look at the capistrano documentation.

Contributing

This bundle needs help! For the contribution guidelines, see the CONTRIBUTING.md distributed file.

Todo

  • Command\Generate\GenerateStagingCommand, takes an yaml file as optional argument (even look for an existing if the argument is not set) and generates a staging for capistrano in interactive mode (optional).

  • Make the path of config files (staging, task) configurable using a bundle Extension.

  • Handle XML/PHP in GenerateStagingCommand.

License

License

rchcapistranobundle's People

Contributors

chalasr avatar veve2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

veve2 tjaari

rchcapistranobundle's Issues

Command doesn't work on Windows

Cool and useful bundle, but the setup command won't work on Windows because

$appPath = explode('/', $rootDir);

It's going to try to access the -1th element of an array and throw a ContextException. You could provide a warning for this case or treat it.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.