@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?)
@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
@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ąć?
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
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?)
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
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ąć?
@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.
no w golangu sie np. nie da z tego co ostatnio sprawdzalem