Hi Daniel,

This is really neat. I'm not to hip to what Docker is all about so my 
realization of whats going on is a bit shaky. However, I do like these features:

        1. I can continue to code, jump branches, build, etc. while an 
integration test is going on.
        2. My test environment is no longer tied to my computer environment 
(e.g. Hadoop/Spark running, etc. blah. Painful).

As I said in another thread, if we can get Spark Server going in our 
integration tests what would be huge for me. For instance, instead of always 
just "local[4]", we could also have it do "spark://localhost:7077" then there 
are lots of random nick nack bugs we will detect as local[4] and SparkServer 
don't always act the same. Moreover, I will be more inclined to clean up the 
<exclusion> insanity I have going on in giraph-/spark-gremlin pom.xmls cause I 
don't have to rely on manual testing.

Thanks,
Marko.

http://markorodriguez.com

On Mar 19, 2016, at 12:18 PM, Daniel Kuppitz <m...@gremlin.guru> wrote:

>> 
>> I would think that test building in different environments is a good thing.
> 
> 
> Makes sense for CI and it's easy to add new base containers. It's a one
> line change:
> 
> https://github.com/apache/incubator-tinkerpop/blob/docker/docker/Dockerfile#L18
> 
> 
> Cheers,
> Daniel
> 
> 
> On Sat, Mar 19, 2016 at 7:15 PM, Dylan Millikin <dylan.milli...@gmail.com>
> wrote:
> 
>> Hey,
>> 
>> This is awesome! Great work.
>> I believe this could also be put to good use with CI. The one reservation I
>> would have here is in regards to :
>> 
>>> - same OS (ubuntu:trusty) for everybody; no matter if your local OS is
>>>  Linux, OSX or Windows, the container will always run the tests on top
>> of
>>>  Ubuntu (no more *"your scripts don't work on my Mac"*)
>> 
>> I would think that test building in different environments is a good thing.
>> At least until we cover different envs in the CI.
>> 
>> But other than that this is really cool. And you get extra cookies for
>> Hadoop, that's awesome.
>> 
>> Cheers,
>> Dylan.
>> 
>> On Sat, Mar 19, 2016 at 1:57 PM, Daniel Kuppitz <m...@gremlin.guru> wrote:
>> 
>>> For the last 2 days I was working on some Docker containers that
>>> will/should make our (devs) daily work a lot easier. Let's start with how
>>> it currently looks:
>>> 
>>> $ docker/build.sh -h
>>> 
>>> Usage: build.sh [OPTIONS]
>>> Build the current local TinkerPop project in a Docker container.
>>> 
>>> Options are:
>>> 
>>>    -t, --tests              run standard test suite
>>>    -i, --integration-tests  run integration tests
>>>    -n, --neo4j              include Neo4j
>>>    -j, --java-docs          build Java docs
>>>    -d, --docs               build user docs
>>>    -h, --help               show this message
>>> 
>>> The options should make it clear what it's good for. But to name a few
>> more
>>> advantages, especially for those, who are not too familiar with Docker:
>>> 
>>>   - each build will be started in a clean environment (no old jar files
>>>   that could mess up your test results)
>>>   - you can continue to work on your code and don't have to worry about
>>>   impacts on the tests that run inside the Docker container
>>>   - same OS (ubuntu:trusty) for everybody; no matter if your local OS is
>>>   Linux, OSX or Windows, the container will always run the tests on top
>> of
>>>   Ubuntu (no more *"your scripts don't work on my Mac"*)
>>>   - you can start multiple builds in parallel
>>>   - the build container will automatically install (and start if needed)
>>>   the correct Hadoop version (defined in pom.xml); in the future we
>> could
>>> do
>>>   the same for Spark Server
>>>   - after building the docs, it will start a simple web server and give
>>>   you the URL to view it (real http://, no file:/// crap)
>>> 
>>> There's probably more, but I think that's impressive enough. The only
>>> disadvantage is, that since each build starts in a clean environment, it
>>> will always have to download all maven dependencies. However, I think all
>>> the advantage compensate that little overhead.
>>> 
>>> These changes are currently in branch docker/
>>> <https://github.com/apache/incubator-tinkerpop/tree/docker> and could be
>>> merged into master/ and tp31/ at any time. But, since this is a DISCUSS
>>> thread, the question is: do people like it?
>>> 
>>> Cheers,
>>> Daniel
>>> 
>> 

Reply via email to