6 ms·
My gut feel is that Docker is part of a trend of decreasing software quality. When someone writes "fixed dependencies" I read "developers can more easily add m
by jstimpfle 5y ago
My gut feel is that Docker is part of a trend of decreasing software quality.
When someone writes "fixed dependencies" I read "developers can more easily add more bloat before the cardhouse tumbles". That happens for example when the "fixed dependencies" are upgraded.
I am miserable having to touch all this junk. I feel a project is right when I can just git clone it (a few megabytes of data at most) and am left with a self contained repo that was written with minimal dependencies (optimally stored in-tree), and that can be easily built in seconds with a simple shell script on any reasonably modern system.
The bare bones way takes a good amount of initial work, but mostly it's a learning experience. Once one understands a few principles of writing portable software, I'm sure it saves a huge amount of time compared to adding all these shells of junk.
--
Oh yeah, I have zero experience about integrating with Kubernetes or whatever. I've been a small time user of Jenkins and CircleCI (unvoluntarily), and when I don't have to set it up and it actually works, it's alright and can help where the developer maybe lacks a bit of discipline (build all targets, run all the tests).
But, I doubt these technologies are a replacement for an ergonomic build environment (with simple python build script or even a crude Makefile). Is incremental building a thing on any of this CI pipelines? Because one thing I want is building really really fast, and it's already way too much overhead if I have to go through a git commit to check this stuff. Don't even think about requiring a full rebuild or Docker image build just to get some quick feedback on a code change.
- bottled_poe 5y agoDocker pushes developers to think about deployment, not just getting it running on their laptop. And responding to your question: yes - the Docker build process is inherently incremental.
- mixermachine 5y ago> The bare bones way takes a good amount of initial work, but mostly it's a learning experience. If my prod environment disappears over night I want to be able to restore everything as fast as possible. Otherwise my boss will be very unhappy and I will be promoted to customer :D. > I feel a project is right when I can just git clone it (a few megabytes of data at most) I don't know your experience but especially small projects often have some difficulties installing all dependencies correctly. The fun starts when you don't run a widely supported distro like Ubuntu. If I want to run an old version of the production software I pull the image version X and execute it. I know that everything in the package has the right version and works like it used to. Tests have been executed and the version in the image has proven to meet the standards back then. > But, I doubt these technologies are a replacement for an ergonomic build environment If you build software for larger customer bases you will most likely encounter some kind of clustering. Most large companies have already adapted this way. For personal and small projects it certainly is overkill. > get some quick feedback on a code change ...wait, do you deploy to prod without tests and no direct way to role back the changes?
- zz865 5y agoI think half the point is that its best not to have all the unusual packages. Stick with the regular ones and you should have a much easier life that you dont even need complex tools to manage the dependencies.