Wpis z mikrobloga

@interface: Może ktoś mnie oświeci - dlaczego w ogóle budować coś używając docker build a nie budować na maszynie i skopiować gotowy .jar?
Zamiast zajmować się optymalizacją Dockerbuild możemy po prostu skorzystać z cache mavena z którego skorzystać w Dockerze nie możemy (tak Docker ma swój cache gdzie będzie trzymał cała warstwę ale czy to bardziej optymalne?)
  • Odpowiedz
@Koryntiusz:
1. reproducible builds
2. zawsze ta sama wersja javy i zaleznosci dla wszystkich uzytkownikow
3. niektore kompilatory zostawiaja metadane, np. c# czy golang i chyba rust zostawiaja w binarce dane o maszynie ktora je budowala, np. username, build path, wersje, itp. firmy chca to ukryc
  • Odpowiedz
@interface: 1. i 2. Od tego jest maven żeby mieć te same zależności, jakie znaczenie ma użycie dockera?
Co do wersji Javy, zgadzam się że to ciężko zapewnić i może powodować błędy.
3. Ok, ma to sens. Jeśli ktoś jest świadomy takiego problemu to nie może tych metadanych usunąć?
  • Odpowiedz
1. i 2. Od tego jest maven żeby mieć te same zależności, jakie znaczenie ma użycie dockera?


@Koryntiusz: musisz zapewnic wtedy podpisy cyfrowe i weryfikacje dla kazdej zaleznosci i zaleznosci ich zaleznosci, docker ma signed images i gotowe, wiadomo wtedy ze kazdy uzywa tych samych zaleznosci, libow, OS i javy i wszystkiego.

nie może tych metadanych usunąć?


no w golangu sie np. nie da z tego co ostatnio sprawdzalem
  • Odpowiedz