|
by Entropy Stew 03/23/2016, 1:04pm PDT |
|
|
|
|
|
Ice Cream Jonsey wrote:
My initial continuous integration solution had me building a couple of our JavaScript products from source every time I deployed them. Which is cool for me to know that it builds, but it does reveal that, ah, the way some of these JS things get built seems a bit fragile to me.
Local mirrors or package repositories are a requirement for shit to build 100% consistently. Even when you do that, version mismatch hell is still possible. I had to debug some really weird shit with Perl because a module had a fallback dependency when the one it really wanted to use was not available, and the fallback failed in a subtle and confusing manner. Turns out the old version we used were incompatible with the upgraded version of the module that required it, but the build didn't fail because of the fallback module usage. What a fucking pain in the ass.
Consistent builds tend to put more burdens on the shoulders of the devs and ops people. Pulling shit from the internet and not thinking about it is great for convenience, but falls over when something like left-pad happens. The larger the dependency graph becomes, the more these two approaches become polarized. Dependency management is hard, there's no free lunch.
-/ES/- |
|
|
|
|
|
|
|