On 3/23/20 7:04 PM, Lukas Fleischer wrote:
We are currently working on a testing environment using Docker.
The idea is to have something that is super easy to set up and still mirrors our production environment as closely as possible. It should ideally allow future contributors to test their patch submissions without having to go through the hassle of manually setting up a full development environment.
Shout-out to Yaron (Cc) for sending me an initial draft.
One of the big design decisions is whether everything should be in a single Docker container vs. several smaller atomic containers (i.e. separate containers for the HTTP server, the database, the SSH/Git interface, ...), as often done in production environments.
The first approach has the benefit of simplicity from a user's perspective and being able to easily set up the environment using just Docker.
The second approach has the benefit of atomicity (simplicity from a developer's perspective) and is closer to what we would do if we would actually use Docker for our production environment. It would probably require docker-compose (or another tool) in addition to Docker to provide the same level of convenience we can achieve with the other approach using just Docker, though.
Since Yaron and me have conflicting opinions, I would like to hear some more arguments and views.
If the idea is to make it simpler for contributors to test out the live instance, adding additional layers (multiple interconnected containers) just makes it more complicated again, thus defeating the initial premise. -- Eli Schwartz Bug Wrangler and Trusted User