[
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)