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