Giter Site home page Giter Site logo

msoftware / jumpstorm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from netresearch/jumpstorm

1.0 2.0 0.0 154 KB

Jumpstorm wants to help you concentrate on the task you have to do. No more time has to be wasted for Magento setup. It even could setup your Magento automatically, so it can even be used for demo or test systems. Its flexible architecture allows you to extend its functionality as you need.

PHP 100.00%

jumpstorm's Introduction

JUMPSTORM

Jumpstorm wants to help you concentrate on the task you have to do. No more time has to be wasted for Magento setup. It even could setup your Magento automatically, so it can even be used for demo or test systems.

Its flexible architecture allows you to extend its functionality as you need.

Installation

Clone from Github:

git clone --recursive [email protected]:netresearch/jumpstorm.git

cd jumpstorm

Hint:

We recommend to symlink the executable jumpstorm in /usr/bin or at least to create an alias in your ~/.profile:

echo 'alias jumpstorm="/path/to/jumpstorm/executable"' >> ~/.profile
source ~/.profile

After that you can leave the folder jumpstorm and use command jumpstorm instead of ./jumpstorm in the following tutorial.

Usage

Type on command line:

./jumpstorm

and you will get a list of available commands and options.

Currently supported commands are

command description
magento Install Magento
extensions Install extensions
unittesting Install framework for unittests and prepare test database
plugins Run plugins

The first thing you should do, is creating the configuration file, your installation should be based on. We provided a sample configuration file ini/sample.jumpstorm.ini, Jumpstorm will use ini/jumpstorm.ini by default, but you could specify a different configuration file by using option -c (--config):

./jumpstorm magento -c /path/to/my/ini

Every command needs the [common] section of the configuration file, so you should fill in the correct values of the Magento target path and your database settings.

Magento

As you propably expected, this command will install Magento.

Let's have a look at the [magento] section of your configuration file:

Jumpstorm needs to know where to find Magento, you will have to specify that in option source.1 If you decide for Git as source, you might specify a branch.

During installation Magento will need to know its base url and it will create an admin account. You should set its data in your configuration file.

If you want Jumpstorm to install Magento sample data, you should provide its source2 (and its branch, if source is Git).

When you finished configuration, you will get a fresh Magento installation after running

./jumpstorm magento -c /path/to/my/ini

Please note, that option -c /path/to/my/ini is optional.

Extensions

Jumpstorm was developed for testing, supporting, and developing extensions. So let's have a look into extension installation configuration.

In section [extensions] you can provide a list of extensions to be installed automatically. For every extension you have to provide a source3 and you could provide a branch, if you use Git as source.

All configured extension will be installed by executing:

./jumpstorm extensions -c /path/to/my/ini

Please note, that option -c /path/to/my/ini is optional.

Unittesting

We are big fans of test driven development. So unit testing is essential. In our sample configuration file, EcomDev_PHPUnit is used as default testing framework. We recommend to use this, so just copy this section to your configuration file (you could set its branch to dev, if you want to use its latest features and bugfixes).

Now just run the following command and start testing and developing:

./jumpstorm unittesting -c /path/to/my/ini

Please note, that option -c /path/to/my/ini is optional.

Plugins

In some cases you may want to have a little different setup, e.g. some special users, products, or settings. To achieve that, Jumpstorm is extendible. The sample configuration file already provides a [plugins] section. Every plugin mentioned here will be executed by running

./jumpstorm plugins -c /path/to/my/ini

Please note, that option -c /path/to/my/ini is optional.

Upcoming features

Modman support

As we use modman for all our extensions, we will implement Jumpstorm to support this as soon as possible. Currently we only copy (or clone) the extensions to the .modman directory, but deployment is not yet done via modman.

Interactive mode

If you use Jumpstorm for a bunch of different projects on and on, you become tired of changing the config file. So it would be nice to specify some settings to be confirmed (and corrected) during execution of Jumpstorm. This mode will be suppressed by the built-in option -n (--no-interaction).


  1. Jumpstorm is well-tested to support Git, but other sources like file system and ssh are supported, too.

  2. Jumpstorm is well-tested to support Git, but other sources like file system and ssh are supported, too.

  3. Jumpstorm is well-tested to support Git, but other sources like file system and ssh are supported, too.

jumpstorm's People

Contributors

mam08ixo avatar quafzi avatar

Stargazers

Michael jentsch avatar

Watchers

Michael jentsch avatar  avatar

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.