Buduj automatyzację - Build automation

Automatyzacja kompilacji to proces automatyzacji tworzenia kompilacji oprogramowania i powiązanych procesów, w tym: kompilacji kodu źródłowego komputera do kodu binarnego , pakowania kodu binarnego i uruchamiania testów automatycznych .

Przegląd

Historycznie rzecz biorąc, automatyzacja kompilacji była przeprowadzana za pomocą plików makefile . Obecnie istnieją dwie ogólne kategorie narzędzi:

Narzędzie do automatyzacji kompilacji
Obejmuje to narzędzia takie jak Make , Rake , CMake , MSBuild , Ant , Maven lub Gradle (Java) itp. Ich głównym celem jest generowanie artefaktów kompilacji poprzez działania takie jak kompilowanie i łączenie kodu źródłowego.
Buduj serwery automatyzacji
Są to ogólne narzędzia internetowe, które wykonują narzędzia automatyzacji kompilacji zgodnie z harmonogramem lub wyzwalaniem; ciągła integracja serwer jest serwerem typu build-automatyki.

W zależności od poziomu automatyzacji możliwa jest następująca klasyfikacja:

Listę oprogramowania dla każdego można znaleźć na liście oprogramowania do automatyzacji kompilacji .

Narzędzia do budowania automatyzacji

Narzędzia do automatyzacji budowania umożliwiają automatyzację prostych, powtarzalnych zadań. Podczas korzystania z narzędzia obliczy, w jaki sposób osiągnąć cel, wykonując zadania we właściwej, określonej kolejności i uruchamiając każde zadanie. Dwa sposoby, w jakie różnią się narzędzia do budowania, są zorientowane na zadania i zorientowane na produkt. Narzędzia zorientowane zadaniowo opisują zależność sieci w kategoriach określonego zadania, a narzędzia zorientowane na produkt opisują rzeczy w kategoriach produktów, które generują.

Buduj serwery automatyzacji

Chociaż serwery kompilacji istniały na długo przed serwerami ciągłej integracji, są one generalnie synonimami serwerów ciągłej integracji, jednak serwer kompilacji może również zostać włączony do narzędzia ARA lub narzędzia ALM .

Typy serwerów

Rozproszona automatyzacja kompilacji

Automatyzacja jest osiągana poprzez wykorzystanie farmy kompilacji dla kompilacji rozproszonej lub wykonania kroku narzędziowego. Proces kompilacji rozproszonej musi mieć inteligencję maszynową, aby zrozumieć zależności kodu źródłowego w celu wykonania kompilacji rozproszonej.

Związek z ciągłą dostawą i ciągłą integracją

Automatyzacja kompilacji jest uważana za pierwszy krok w kierunku wdrożenia kultury ciągłego dostarczania i DevOps . Automatyzacja tworzenia w połączeniu z ciągłą integracją , wdrażaniem , automatyzacją wydawania aplikacji i wieloma innymi procesami pomaga organizacji w tworzeniu najlepszych praktyk w zakresie dostarczania oprogramowania.

Zalety

Zalety automatyzacji kompilacji w projektach tworzenia oprogramowania obejmują

  • Niezbędny warunek wstępny dla ciągłej integracji i ciągłego testowania
  • Popraw jakość produktu
  • Przyspiesz kompilację i przetwarzanie linków
  • Wyeliminuj zbędne zadania
  • Zminimalizuj „złe kompilacje”
  • Eliminacja zależności od kluczowego personelu
  • Mieć historię kompilacji i wydań, aby badać problemy
  • Oszczędzaj czas i pieniądze - z powodów wymienionych powyżej.

Zobacz też

Bibliografia