Download the PHP package codegyre/robo-ci without Composer

On this page you can find all versions of the php package codegyre/robo-ci. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package robo-ci

RoboCI

RoboCI is virtualized environment runner for Continuous Integration servers. RoboCI is aimed to run Travis CI builds locally inside Docker containers as well creating custom build setup.

RoboCI is used to:

Requirements

Requires Docker and Robo PHP Task Runner to be installed.

Installation

Use Composer

Create RoboFile.php in the root of your project (if it is not already there), by simply running robo.

Attach composer autoloader to include Codegyre\RoboCI into your RoboFile:

Now when you run robo you will see new commands in ci namespace.

RoboCI and PHP builds

Preparing Environment

RoboCI uses .travis.yml as a primary configuration for running travis builds. By default it will use davert/roboci-php image, created from Travis Cookbooks. It provides default travis environment with PHPs installed.

RoboCI will convert your .travis.yml file into its own format (see below) and store it in .roboci dir.

RoboCI creates an environment per PHP version listed in .travis.yml config. If you have configured php 5.5 in your travis CI you should see .roboci/5.5 created. Travis instructions are parsed and prepared to be executed with Docker:

Unlike OpenVZ, which Travis uses for creating virtualized containers, Docker does not provide true virtualization. It allows to execute different processes in its own namespaces. Each docker container is designed to run one process. It is not a technical but a design limitation. Because of this RoboCI implements its own way of executing services like mysql, postgresql, mongodb, etc. Rather then running services inside a build container, it creates linked containers per service. This makes behavior of RoboCI to be different then expected from TravisCI.

Take a note, that each time you update .travis.yml, you will need to rebuild environments with robo ci:travis-prepare command.

Optimizations

It is highly recommended that all operations that could be cached to be stored into install section of TravisCI. This will allow RoboCI to include them into Dockerfile and make Docker save them in intermediate containers.

If you are installing packages, or running composer install in before_script, you can move them to install to speed up containers launch.

Running Build

To run build you can use ci:run with environment as parameter. In case you want to run build for php 5.5 you, you should run

Much more useful to enter a built container without running tests. This will allow to run specific tests and debug them. You can call ci:shell for that. In case of PHP 5.5 this execute

Cleaning Up Old Builds

Main container and service containers may persist. In order to clean them, you can run

Reference

RoboCI stores build configurations in .roboci directory.

Services

RoboCI includes MySql, PostgreSql, MongoDb, and RabbitMQ as services. Each service will be executed in its own container and linked into main container. Service containers are built from recipes. Recipe includes Dockerfile and linkage instructions that wll be executed in main container. Mainly linking requires running socat on exposed ports of service container. See examples.

Customization

Creating own services

Services are created from recipes. If you want to add a recipe to RoboCI, please send a Pull Request. If you need your own service, create a .roboci/_recipe/servicename directory and put Dockerfile in it. There you may specify base service image and build instructions. Also you may add linking instructions by creating link.sh. Contents of link.sh will be executed in the main container.

By creating your own service you may redefine default ones.

Add additional services into .roboci/environment/env.yml.

Non-Travis Builds

RoboCI can be extended to execute custom builds without using Travis recipes and Travis configuration. To prepare raw RoboCI environment you should run

Execute custom environment as usual:

Credits

Created by Michael Bodnarchuk @davert License MIT


All versions of robo-ci with dependencies

PHP Build Version
Package Version
Requires symfony/yaml Version ~2.0
codegyre/robo-docker Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package codegyre/robo-ci contains the following files

Loading the files please wait ....