Skąd pochodzi build?
sobes.tech AI
Odpowiedź od AI
Kompilacja (build) oprogramowania jest wynikiem procesu kompilacji, linkowania i pakowania kodu źródłowego projektu wraz z niezbędnymi zasobami (bibliotekami, plikami konfiguracyjnymi, obrazami itp.) w jednolity pakiet wykonywalny lub dystrybuowalny.
Przy ręcznej kompilacji programista wykonuje te kroki ręcznie lub za pomocą skryptów na swoim lokalnym komputerze. Przy zautomatyzowanej kompilacji używa się systemów ciągłej integracji (CI), takich jak Jenkins, GitLab CI, GitHub Actions, TeamCity i inne.
Proces zautomatyzowanej kompilacji wygląda mniej więcej tak:
- Wyzwalacz: Zmiana w repozytorium (np. commit w określonej gałęzi) lub uruchomienie zaplanowanej kompilacji uruchamia pipeline kompilacji.
- Pobranie kodu: System CI pobiera aktualną wersję kodu źródłowego z systemu kontroli wersji (Git, SVN itp.).
- Kompilacja: Wykonywane są polecenia kompilacji zgodnie z konfiguracją projektu (np.
mvn clean package,npm build,dotnet publish). Etap ten obejmuje kompilację kodu źródłowego, uruchomienie testów jednostkowych i tworzenie artefaktów kompilacji. - Testy: Mogą być uruchomione różne rodzaje testów automatycznych (integracyjne, e2e itp.).
- Pakowanie: Artefakty kompilacji są pakowane w odpowiedni format (WAR/JAR dla Java, obraz Docker, pakiet NPM, msi itp.).
- Publikacja: Gotowy artefakt (build) jest publikowany w repozytorium artefaktów (Nexus, Artifactory, Docker Registry), skąd można go pobrać do wdrożenia lub dalszych testów.
W ten sposób, kompilacja pochodzi z procesu zautomatyzowanego lub ręcznego kompilowania, linkowania i pakowania kodu źródłowego, zwykle wykonywanego przez system CI po zmianach w repozytorium.