[ 
https://issues.apache.org/jira/browse/AVRO-1537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14251842#comment-14251842
 ] 

Tom White commented on AVRO-1537:
---------------------------------

Doug> I wonder if this might better be in share/docker, or perhaps just as 
Dockerfile in the project root?

Project root won't work unfortunately, since it will copy all the files in 
there into the image. I can move it to share/docker though.

Doug> It works a lot faster if you also mount your .m2 directory

Good idea.

Niels> I also noticed that all files in the avro directory become owned by root 
because that is the default user inside docker.

Good catch! It seems that there isn't a good solution for this in docker (see 
e.g. [this explanation from Solomon 
Hykes|https://groups.google.com/forum/#!msg/docker-user/EUndR1W5EBo/4hmJau8WyjAJ]).
 I tried your runindocker function, but it failed for me since I got a GID 
clash. Does running './build.sh clean' from the container fix the problem? 
Perhaps we can just document the workaround, or we could mention the git/svn 
checkout (or add them back) to avoid the user-mapping problem entirely. 



> Make it easier to set up a multi-language build environment
> -----------------------------------------------------------
>
>                 Key: AVRO-1537
>                 URL: https://issues.apache.org/jira/browse/AVRO-1537
>             Project: Avro
>          Issue Type: Improvement
>            Reporter: Martin Kleppmann
>            Assignee: Tom White
>         Attachments: AVRO-1537.patch, AVRO-1537.patch, AVRO-1537.patch
>
>
> It's currently quite tedious to set up an environment in which the Avro test 
> suites for all supported languages can be run, and in which release 
> candidates can be built. This is especially so when we need to test against 
> several different versions of a programming language or VM (e.g. 
> JDK6/JDK7/JDK8, Ruby 1.8.7/1.9.3/2.0/2.1).
> Our shared Hudson server isn't an ideal solution, because it only runs tests 
> on changes that are already committed, and maintenance of the server can't 
> easily be shared across the community.
> I think a Docker image might be a good solution, since it could be set up by 
> one person, shared with all Avro developers, and maintained by the community 
> on an ongoing basis. But other VM solutions (Vagrant, for example?) might 
> work just as well. Suggestions welcome.
> Related resources:
> * Using AWS (setting up an EC2 instance for Avro build and release): 
> https://cwiki.apache.org/confluence/display/AVRO/How+To+Release#HowToRelease-UsingAWSforAvroBuildandRelease
> * Testing multiple versions of Ruby in CI: AVRO-1515



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to