You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Motivations is to be able to run builds in docker without sacrificing any performance.
Let's say the team uses gradle as a generic build tool not just java code. This means that certain tasks have dependencies like npm, yarn etc of arbitrary complexity.
What a the ways to tackle this? I know basically two ways - nix and docker. Nix is a very good idea and probably ultimately better but it has problems with build speed, incremental builds and it's still not that popular. Docker on the other hand is already industry standard of deploying software, has good support on mac and windows etc. It's already used in tools like Jenkins as one of the way to specify build environment.
So my vision is that developer shouldn't have to setup his machine to build particular software in any way except of installing docker (or nix).
Then he uses some kind of easily discoverable method to build software inside of a container (make for example).
It can be done with gradle, but one would loose some efficiency because of the daemon. Or one would have to use experimental file-watch feature which wouldn't help in Jenkins environments anyway.
In any case I think "explicit is better than implicit" applies here. Making daemon a separate service would also have the benefit of being able to to distributed builds probably.
The text was updated successfully, but these errors were encountered:
Motivations is to be able to run builds in docker without sacrificing any performance.
Let's say the team uses
gradle
as a generic build tool not just java code. This means that certain tasks have dependencies likenpm
,yarn
etc of arbitrary complexity.What a the ways to tackle this? I know basically two ways -
nix
anddocker
.Nix
is a very good idea and probably ultimately better but it has problems with build speed, incremental builds and it's still not that popular.Docker
on the other hand is already industry standard of deploying software, has good support on mac and windows etc. It's already used in tools like Jenkins as one of the way to specify build environment.So my vision is that developer shouldn't have to setup his machine to build particular software in any way except of installing docker (or nix).
Then he uses some kind of easily discoverable method to build software inside of a container (
make
for example).It can be done with gradle, but one would loose some efficiency because of the daemon. Or one would have to use experimental file-watch feature which wouldn't help in Jenkins environments anyway.
In any case I think "explicit is better than implicit" applies here. Making daemon a separate service would also have the benefit of being able to to distributed builds probably.
The text was updated successfully, but these errors were encountered: