aitboudad / JoliCi

JoliCi - Run your TravisCi builds locally

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JoliCi

JoliCi is a free and open source Continuous Integration Client written in PHP and powered by Docker. It has been written to be easy to use. Thanks to the use of Docker, all kind of projects can be tested with this CI (not just PHP) : you are completely free.

This project is still in beta, there may be bugs and missing features

Build Status Scrutinizer Quality Score

Features

  • Support .travis.yml file
  • Secured and isolated build on your local computer
  • Multiple builds by project
  • Override test command

Installation

You can install JoliCi by either downloading jolici.phar or by installing it via composer. For example:

composer global require jolicode/jolici:*

This will install the jolici executable to your $COMPOSER_HOME/vendor/bin folder (typically $HOME/.composer/vendor/bin). It is recommended to add this directory to your PATH environment variable.

Usage

JoliCi Demo

First run can be quite long since it has to build everything from the beginning. Subsequent build should be faster thanks to docker caching.

If you want to run a different command for test instead of the one set by default (like script parameter in .travis.yml file) you just need to set the new command at the end :

php jolici.phar run "phpunit -c a-different-file.xml"

This will run phpunit -c a-different-file.xml for your tests.

Run options

  • --project-path : Path where your project is, default to current directory
  • --docker-host : Set the API entrypoint for Docker
  • -v|-vv|-vvv : Verbose, more verbose and very verbose, by default it only show the test command. By increasing verbosity you will also see the build output
  • --no-cache : Do not use docker cache when building image

Strategies

JoliCi need to know how to create builds from your project a.k.a. BuildStrategy.

For the moment, only TravisCiBuildStrategy and JoliCiBuildStrategy are supported, but more strategy (like reading a circle.yml file) will be supported in the future.

This strategies are determined by reading your project directory.

Requirements

  • Docker (a recent version is better and encouraged)
  • PHP 5.4 at least

Contributing

Here are a few rules to follow in order to ease code reviews, and discussions before maintainers accept and merge your work.

  • You MUST follow the PSR-1 and PSR-2.
  • You MUST run the test suite.
  • You MUST write (or update) unit tests.
  • You SHOULD write documentation.

Please, write commit messages that make sense, and rebase your branch before submitting your Pull Request.

One may ask you to squash your commits too. This is used to "clean" your Pull Request before merging it (we don't want commits such as fix tests, fix 2, fix 3, etc.).

Also, when creating your Pull Request on GitHub, you MUST write a description which gives the context and/or explains why you are creating it.

Thank you!

Credits

License

View the LICENSE file attach to this project.

About

JoliCi - Run your TravisCi builds locally

License:MIT License