Code Monkey home page Code Monkey logo

jolici's Introduction

JoliCi

JoliCi is a free and open source Continuous Integration Client written in PHP (5.4 minimum) and powered by Docker (please use a recent version). It has been written to be compliant with existent Ci services like Travis-Ci and not create a new standard. (Remove that smile, I KNOW what you're thinking.)

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

Build Status Scrutinizer Quality Score

## Usage

Have a .travis.yml in your project

Download the last version of jolici and run it, i.e. for v0.3.1:

wget https://github.com/jolicode/JoliCi/releases/download/v0.3.1/jolici.phar
php jolici.phar run

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

JoliCi Demo

If you want to see what happens behind this black box:

php jolici.phar run -v

## Ci supported

  • Travis-Ci
  • ...

I want to read more

Credits

License

View the LICENSE file attach to this project.

jolici's People

Contributors

aitboudad avatar beberlei avatar clue avatar cordoval avatar damienalexandre avatar h4cc avatar joelwurtz avatar jubianchi avatar nek- avatar nubs avatar pborreli avatar pierredup avatar robertmarsal avatar sumanai avatar ternel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jolici's Issues

Quoted ENV variables do not work anymore

Quoted ENV variables used to work in 0.2.? and broke with 0.3.0.

.travis.yml as per documentation:

language: php
php:
- 5.5
env:
 - LOGIN='secret'
script:
 - echo $LOGIN

Expected output: secret (no quotes)
Actual output: 'secret' (including quotes)

This will now pass the following instruction to Docker:

ENV LOGIN 'secret'

The ENV instruction has two forms. The first form, ENV , will set a single variable to a value. The entire string after the first space will be treated as the - including characters such as spaces and quotes.

https://docs.docker.com/reference/builder/#env

For the reference, noticed this in one of my projects.

services: mysql

In my .travis.yml I have mysq service:

services:
  - mysq

After run JoliCi see errors:

[Docker\Exception\APIException]
No such image: mysql:5.5

[Docker\Exception\APIException]
No such image: mysql:5.5
[GuzzleHttp\Exception\ClientException]
Client error response [url] /images/mysql%3A5.5/json [status code] 404 [reason phrase] Not Foun

Am I douing anything wrong or is there a bug?

Joli does not read version from .travis.yml

I am trying to build a Node.js project using JoliCI. I have made the following .travis.yml:

language: node_js

node_js:
  - 0.12

node_js:
  - 0.12

before_script:
  - npm install -g gulp

script: gulp ci

But Joli somehow fails reading the configuration and attempts to build with an empty version of Node:

image

By the way… awesome project!

Support service

The goal is to have external services when running test image, like mysql, postgresql, mongodb, etc ...

Contributing new languages guidelines

I'd like to add Python support to this. From a quick perusal, it appears the steps would be:

  1. Make python .twig files in resources/templates/python
  2. Add python to the TravisCIBuildStrategy.php with relevant values (in $defaults)
  3. Create python docker files here: https://github.com/jolicode/docker-images

Am I missing any steps? I think documenting this well would lead to others filling in the gaps with language coverage as their own needs arose.

Unable to run on Windows

I'm unable to run the JoliCi (phar) on Windows as there is no support for unix sockets.

Docker uses a port forwarding for SSH.

2014/08/02 11:50:46 Creating VM boot2docker-vm...
2014/08/02 11:50:46 Apply interim patch to VM boot2docker-vm (https://www.virtualbox.org/ticket/12748)
2014/08/02 11:50:46 Setting NIC #1 to use NAT network...
2014/08/02 11:50:47 Port forwarding [ssh] tcp://127.0.0.1:2022 --> :22
2014/08/02 11:50:47 Port forwarding [docker] tcp://127.0.0.1:2375 --> :2375
2014/08/02 11:51:31 Setting NIC #2 to use host-only network "VirtualBox Host-Only Ethernet Adapter #2"...
2014/08/02 11:51:31 Setting VM storage...
2014/08/02 11:51:41 Done. Type `c:\Program Files\Boot2Docker for Windows\boot2docker.exe up` to start the VM.

Scripts should be executed as user

Currently, all build steps are executed as user "root", whereas TravisCI uses a dedicated "travis" user. Also, TravisCI supports using sudo to switch to the root user, JoliCI does not.

This makes it quite difficult to explicitly execute build steps as user "root" (like installing software packages etc.). This can be worked around in the .travis.yml file, however it's quite cumbersome.

Sample .travis.yml to reproduce:

language: php
php:
  - 5.5
install:
  - true # needed until PR #39 lands
script:
  - id -un
  - sudo id -un

Expected output (also supported by TravisCI):

travis
root

Actual output:

root
<< Exception trace >>

DateTime::__construct() exception is thrown

I try to run it on my Node.js project via php jolici.phar run -vvv and I get the following:

Creating builds...



  [Exception]                                                                                                                                        
  DateTime::__construct(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the dat  
  e_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the t  
  imezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone.                                  



Exception trace:
 () at phar:///Volumes/Work/circularwave/cayman/jolici.phar/src/Joli/JoliCi/Job.php:76
 DateTime->__construct() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/src/Joli/JoliCi/Job.php:76
 Joli\JoliCi\Job->__construct() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php:189
 Joli\JoliCi\BuildStrategy\TravisCiBuildStrategy->getJobs() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/src/Joli/JoliCi/BuildStrategy/ChainBuildStrategy.php:33
 Joli\JoliCi\BuildStrategy\ChainBuildStrategy->getJobs() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/src/Joli/JoliCi/Command/RunCommand.php:53
 Joli\JoliCi\Command\RunCommand->execute() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:257
 Symfony\Component\Console\Command\Command->run() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:874
 Symfony\Component\Console\Application->doRunCommand() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:195
 Symfony\Component\Console\Application->doRun() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at phar:///Volumes/Work/circularwave/cayman/jolici.phar/bin/jolici:28
 require() at /Volumes/Work/circularwave/cayman/jolici.phar:6


run [-p|--project-path[="..."]] [-k|--keep[="..."]] [--no-cache] [--timeout[="..."]] [--notify] [cmd]

Error 500

Using the latest version (dev-master through Composer or the latest phar) I get the following error:

[GuzzleHttp\Exception\ServerException]
Server error response [url] /build?q=1&t=543b02a31d5da-php-5.3&nocache=0&rm=0 [status code] 500 [reason phrase] Internal Server Error

Above that, my console is flooded with PHP notices:

Notice: fwrite(): send of 5 bytes failed with errno=32 Broken pipe in phar:///myproject/jolici.phar/vendor/stage1/docker-php/src/Docker/Http/Adapter/DockerAdapter.php on line 96

I tried debugging, I moved into the temp directory and ran docker build . => it works (runs the tests just fine). By the way, the travis.yml is ultra basic. So it seems there's a problem connecting to docker.

I have installed Docker on OS X with boot2docker, using Homebrew. Docker works fine.

I also tried jolici run --docker-host="tcp://192.168.59.103:2375" but I get the same result ($DOCKER_HOST is correctly defined by the way).

Any idea?

Can't run on cpp project

Is it possible to run cpp project?

humbug@work ~/llst $ php jolici.phar run
Creating builds...
PHP Notice:  Undefined index: cpp in phar:///home/humbug/llst/jolici.phar/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php on line 271
PHP Warning:  Invalid argument supplied for foreach() in phar:///home/humbug/llst/jolici.phar/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php on line 273
PHP Catchable fatal error:  Argument 2 passed to Joli\JoliCi\Matrix::setDimension() must be of the type array, null given, called in phar:///home/humbug/llst/jolici.phar/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php on line 303 and defined in phar:///home/humbug/llst/jolici.phar/src/Joli/JoliCi/Matrix.php on line 26
humbug@work ~/llst $ travis lint
Hooray, .travis.yml looks valid :)
humbug@work ~/llst $ php -v
PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39) 

PHPUnit requires PHP 5.6

When i try to build my project with PHP 5.5 in my .travis.yml the build is successfull but it returns

This version of PHPUnit requires PHP 5.6; using the latest version of PHP is highly recommended.
With 5.6 it works fine.

I see there is a similar issue on travis :travis-ci/travis-ci#5206, i tried to add the before_install instruction but it did not works for me…

Crashes if language version is a string in the config.

# The language specific base vm to use for this repository
language: node_js

# The node.js version to install
node_js: "0.12.7"
...
PHP Warning:  Invalid argument supplied for foreach() in phar:///home/robbiev/Documents/git/velocity-teamcity-reporter/jolici.phar/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php on line 281
PHP Catchable fatal error:  Argument 2 passed to Joli\JoliCi\Matrix::setDimension() must be of the type array, string given, called in phar:///home/robbiev/Documents/git/velocity-teamcity-reporter/jolici.phar/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php on line 311 and defined in phar:///home/robbiev/Documents/git/velocity-teamcity-reporter/jolici.phar/src/Joli/JoliCi/Matrix.php on line 26

If I change the config to the following, executing proceeds as expected.

# The language specific base vm to use for this repository
language: node_js

# The node.js version to install
node_js: 
  - "0.12.7"
...

This use case should probably be handled considering the first config is valid and travis-ci will run it.

[RFC] Building travis ci container

There is 3 way to build travis ci container :
#1. Keep it the current way

Keep the current implementation with Dockerfile and try to make container as close as their vms

Pro : Can have fast container build
Con : Must follow and support change to travis ci boxes
#2. Use travis cookbooks

Use https://github.com/travis-ci/travis-cookbooks with some commands to build vms

Pro : Very close to travis ci VM, less work to support change
Con : Take a HUGE time for the first build and will be pretty heavy in size
#3. Use travis cookbooks + docker registry

Same as 2. but container are pre-built into image and push to docker public registry

Pro : No built time, only download time
Con : Always pretty heavy in size, require more tooling for upgrade mechanism

If some people have better options, i will be glade to hear them.

problème sur mon premier essai de JoliCi #tristesse #noob

excusez ma noobitude mais je n'arrive pas à builder un projet avec un .travis.yml

j'ai bien pull les images jolicode/php54 etc ...

je me mange un

[GuzzleHttp\Exception\ServerException]                                                                             
  Server error response [url] /build?q=1&t=53ac2c0f75093-php-5.4&nocache=0&rm=0 [status code] 500 [reason phrase] Internal Server Error                                                                                               

dites moi si il faut plus de détails

Incompatible with pharcc

Pharcc is required by jolici, however, you require symfony/yaml 2.4 while pharcc needs in all the releases 2.3.*, isn't this very incompatible?

No such image

jakesyl@server:~/PhishTrain$ jolici run
Creating builds...
3 builds created

Running build php-5.5

The command [/bin/sh -c /bin/bash -c -l "cd $WORKDIR && pear install pear/PHP_CodeSniffer"] returned a non-zero code: 127


  [Docker\Exception\APIException]                            
  No such image: 54a3238f6df17-php-5.5:latest (tag: latest)  






  [GuzzleHttp\Exception\ClientException]                                                            
  Client error response [url] /containers/create?name= [status code] 404 [reason phrase] Not Found  



run [-p|--project-path[="..."]] [--no-cache] [--timeout[="..."]] [--docker-host[="..."]] [cmd]

Support passing DNS options

Each build will be run in a container that uses Docker's default DNS servers (Google's public DNS servers 8.8.8.8 and 8.8.4.4). Docker supports passing a --dns option for its docker run command, however JoliCi does not currently expose this option through its options.

Handing all DNS to Google's public DNS infrastructure might leak private information and might be an issue for those concerned about privacy.

More importantly I'm currently evaluating using JoliCi as part of our CI setup. One of our project uses an integration test that performs live queries against one of our internal servers hosted on intranet.acme.com. This server is not listed in our public DNS infrastructure, and can only be resolved via our local DNS server (10.0.0.1).

Arguably this feature might be out of scope because this address can't be resolved via the hosted Travis service either.

Given that adding support for the DNS option should be fairly straight forward, I figured it would be worth posting: Relevant place would be the Executor and passing Dns in the $hostconfig.

jolici just stop itself in the middle

➜  Project git:(feature/ci) jolici run -vvv
Creating builds...
1 builds created

Running job php = 5.4

Step 0 : FROM jolicode/php54:latest
 ---> Using cache
 ---> a3d266dc994f
Step 2 : ADD . $WORKDIR
 ---> 6cd615595474
Removing intermediate container ad9ba4567285
Step 3 : WORKDIR $HOME/project
 ---> Running in 55c778a47f92
 ---> 8d8068fd451e
Removing intermediate container 55c778a47f92
Step 4 : RUN sudo chown travis:travis -R $HOME/project
 ---> Running in 7486cbd87b2a
➜  Project git:(feature/ci) ✗

I have no idea why it stops here.

Use a stable version of stage1/docker-php

This package requires dev-master for stage1/docker-php, which makes installing with composer not straightforward (the install first fails, then we have to add "minimum-stability": "dev" and re-install).

stage1/docker-php seems to have tagged versions, it would be better to use them.

travis.yml and hhvm

Hello,

On the project I tested jolici, I have a part for hhvm testing. Here is the error à get when executing hhvm part:

image

Here is the verbose:

Step 6 : RUN /bin/bash -c -l "cd $WORKDIR && composer install --dev --prefer-source"
 ---> Running in fca39a570c2e
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
 ---> 47d7946a0978
Step 7 : CMD /bin/bash -c -l "cd $WORKDIR && phpunit --coverage-text"
 ---> Running in a78dd913f680
 ---> c4f022fc7708
Successfully built c4f022fc7708

Fatal error: Uncaught exception 'PharException' with message 'Malformed manifest. Expected 33294 bytes, got 88403' in :
Stack trace:
#0 (): Phar->parsePhar()
#1 (): Phar->__construct()
#2 /usr/local/bin/phpunit(578): Phar::mapPhar()
#3 {main}

error 61

apologize if it is unrelated

~ php jolici.phar run                                                        Luiss-MacBook-Pro-3 [23:44:12]
Creating builds...
1 builds created

Running build php-5.5




  [GuzzleHttp\Exception\RequestException]
  Cannot open socket connection: Connection refused [code 61]



run [-p|--project-path[="..."]] [--no-cache] [--timeout[="..."]] [--docker-host[="..."]] [cmd]

Assume default versions for each language

Travis does not require an explicit definition of the version to test against, whereas JoliCi does. I noticed this in one of my projects, the following .travis.yml should reproduce this:

language: php
PHP Notice:  Undefined index: php in phar:///usr/local/bin/jolici/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php on line 271
PHP Warning:  Invalid argument supplied for foreach() in phar:///usr/local/bin/jolici/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.
php on line 273
PHP Catchable fatal error:  Argument 2 passed to Joli\JoliCi\Matrix::setDimension() must be of the type array, null given, called in phar:
///usr/local/bin/jolici/src/Joli/JoliCi/BuildStrategy/TravisCiBuildStrategy.php on line 303 and defined in phar:///usr/local/bin/jolici/sr
c/Joli/JoliCi/Matrix.php on line 26

Supporting this should be fairly straight forward, we just need to define a list of default versions for each language and fall back to this list if no other version is defined in the TravisCiBuildStrategy.

docker-official-docs Travis can't be execute

The actual .travis.yml for docker-library/docs doesn't work.

$ jolici run
Creating builds...



  [Symfony\Component\Yaml\Exception\ParseException]             
  Unable to parse at line 12 (near "  if [ "$files" ]; then").  



run [-p|--project-path[="..."]] [-k|--keep[="..."]] [--no-cache] [--timeout[="..."]] [--notify] [cmd]

jolici has been created to work with this project type or it's a case not supported ?

The fail must provide of a bad escape.

Can't connect to local MySQL server through socket

When trying to run on this project I get

Step 11 : RUN /bin/bash -c -l "cd $WORKDIR && mysql -e 'CREATE DATABASE IF NOT EXISTS magento_travis;'"
---> Running in 1ac7d117edd1
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

How can this be resolved?

JoliCi phar URL is broken

From https://github.com/jolicode/JoliCi/blob/master/docs/installation.md:

curl http://jolici.jolicode.com/jolici.phar -o /usr/local/bin/jolici

But http://jolici.jolicode.com/jolici.phar actually redirects to the Jolicode website.
Not that we don't like it, it's beautiful and shiny (probably thanks to a unicorn powered core) but what we really want is your awesome phar file 😉

APIExecption on build

Hey guys,

I tried to build my Silex project with JoliCI, i installed the .phar with the wget command.

My .travis.yml is:

language: php
php:
  - '5.5'

When i run the php jolici.phar run -v it returns two errors:

[Docker\Exception\APIException]
json: cannot unmarshal object into Go value of type []string

[GuzzleHttp\Exception\ServerException]
Server error response [url] /containers/create?name= [status code] 500 [reason phrase] Internal Server Error

I pasted the full trace here : https://framabin.org/?a0e27731df1fc151#4+VuYHvZxFrabzJnObpCDH963D2/W391oLGUu649Z8o=

I search for similar issues on the web, it seems to be some known issue of docker-php but i can't figure out how i can fix this for JoliCI.

Any tips ?

Add scala support

Currently getting an exception when trying to use on a scala project locally.

[Exception]
Language scala not supported

Getting Started

It might be a good idea to write a getting started guide, or a step by step tutorial on how to get this running.

Perhaps take advantage of the Digitalocean article bounties program and write a getting started for Digital Ocean for starters?

Client Error Response (404) on first try

Hello,

I tried jolici on a random simple project. It worked the second time I ran jolici. But first here is what I got:

error while running jolici for the first time

I had this issue 2 times (once for php 5.4 and once for 5.5). So I guess that it's a redundante issue.

Creating archive disabled by the php.ini setting phar.readonly

I am currently testing JoliCI for Drupal Console project and the default container php.ini setting for creating archive .phar files is disabled and I am getting the following error message:

[UnexpectedValueException]
creating archive "/home/project/console.phar" disabled by the php.ini setting
phar.readonly

This is the Drupal Console project travis file
https://github.com/hechoendrupal/DrupalAppConsole/blob/master/.travis.yml#L22

There is any plan to change the container php.ini configuration to

phar.readonly = false

NOTE: I duplicated this issue at jolicode/docker-images#7

Cannot open socket connection

Hello,

I try to build my project but got the following error. I don't know what happen but my docker is working and permissions are ok to work.

Creating builds...
1 builds created

Running job php = 5.4




  [GuzzleHttp\Exception\RequestException]                            
  Cannot open socket connection: No such file or directory [code 2]  



Exception trace:
 () at /home/maxime/.composer/vendor/stage1/docker-php/src/Docker/Http/Adapter/DockerAdapter.php:100
 Docker\Http\Adapter\DockerAdapter->createResponse() at /home/maxime/.composer/vendor/stage1/docker-php/src/Docker/Http/Adapter/DockerAdapter.php:70
 Docker\Http\Adapter\DockerAdapter->send() at /home/maxime/.composer/vendor/guzzlehttp/guzzle/src/Client.php:186
 GuzzleHttp\Client->send() at /home/maxime/.composer/vendor/guzzlehttp/guzzle/src/Client.php:149
 GuzzleHttp\Client->get() at /home/maxime/.composer/vendor/stage1/docker-php/src/Docker/Manager/ImageManager.php:39
 Docker\Manager\ImageManager->findAll() at /home/maxime/.composer/vendor/jolicode/jolici/src/Joli/JoliCi/Vacuum.php:187
 Joli\JoliCi\Vacuum->getJobs() at /home/maxime/.composer/vendor/jolicode/jolici/src/Joli/JoliCi/Vacuum.php:142
 Joli\JoliCi\Vacuum->getJobsToRemove() at /home/maxime/.composer/vendor/jolicode/jolici/src/Joli/JoliCi/Vacuum.php:62
 Joli\JoliCi\Vacuum->clean() at /home/maxime/.composer/vendor/jolicode/jolici/src/Joli/JoliCi/Command/RunCommand.php:74
 Joli\JoliCi\Command\RunCommand->execute() at /home/maxime/.composer/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:253
 Symfony\Component\Console\Command\Command->run() at /home/maxime/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php:874
 Symfony\Component\Console\Application->doRunCommand() at /home/maxime/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php:195
 Symfony\Component\Console\Application->doRun() at /home/maxime/.composer/vendor/symfony/console/Symfony/Component/Console/Application.php:126
 Symfony\Component\Console\Application->run() at /home/maxime/.composer/vendor/jolicode/jolici/bin/jolici:28


run [-p|--project-path[="..."]] [-k|--keep[="..."]] [--no-cache] [--timeout[="..."]] [cmd]

Push Notification to OS

Personally when I run test, I minimize the terminal and forget it (for a little time). Push notification to the OS notification center can be a really useful feature.

Here an example for Linux ubuntu based :

notify-send "JoliCI Test passed on php 5.4" -i "/usr/share/icons/gnome/32x32/emblems/emblem-default.png" 

capture du 2015-02-05 14 20 13

Ubuntu Notify OSD https://wiki.ubuntu.com/NotifyOSD
Package linux : notify-osd

An equivalent system exist also for Mac user.

Missing travis user in Docker container

Hi JoliCi,

I wanted to try you out but I got the following error:

Creating builds...
1 builds created

Running job ruby = 2.1.0

Step 1 : FROM jolicode/ruby-2.1.0:latest
 ---> 50efffbf16af
Step 2 : ENV WORKDIR $HOME/project
 ---> c404dbd9f5d3
Step 3 : ADD . $WORKDIR
 ---> 9e12c31dfd32
Step 4 : WORKDIR $HOME/project
 ---> 3905da34f8db
Step 5 : RUN sudo chown travis:travis -R $HOME/project
 ---> Running in 3a087983be11
chown: invalid user: `travis:travis'

Error when creating job: The command returned a non-zero code: 1
'/bin/sh -c sudo chown travis:travis -R $HOME/project'

I guess it is due to resources/templates/Dockerfile.twig on line 11, would a simple useradd solve this issue like so?

RUN sudo useradd travis

I tried editing the .phar directly but, you guessed it, php stopped my from executing a corrupted (get manuallly edited) file.

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.