aws codebuild tutorial
Narzędzie AWS CodeBuild DevOps:
najlepsze oprogramowanie do usuwania złośliwego oprogramowania i oprogramowania szpiegującego
W Część 1 narzędzi AWS DevOps , widzieliśmy jak Usługa CodeCommit został użyty do przechowywania kodu źródłowego w bezpiecznej usłudze kontroli wersji online, co jest warunkiem wstępnym każdej implementacji DevOps.
W Część 2 serii , dowiemy się więcej o tym, jak kod z repozytorium CodeCommit można skompilować w chmurze za pomocą usługi CodeBuild i narzędzia do kompilacji ANT lub Maven.
Sugerowana lektura => Seria szkoleń Absolute DevOps
Co najważniejsze, nie ma potrzeby dostarczania żadnego serwera kompilacji. Wytworzone artefakty są następnie przechowywane w wiadrze AWS S3, który jest prostą usługą pamięci masowej do przechowywania i pobierania dowolnej ilości danych w Internecie. Te 2 ćwiczenia w obu samouczkach stanowią część Continuous Integration.
W tym samouczku zobaczymy również, jak można zintegrować Jenkins z CodeBuild.
Warunek wstępny:
- Konto w AWS najlepiej na darmowym poziomie.
- Dobre i szybkie łącze internetowe.
- Używany region AWS - Azja i Pacyfik (Singapur).
Uwaga: Jeśli korzystałeś z regionu AWS (Bombaj) dla usługi CodeCommit, to region ten nie jest obsługiwany w CodeBuild. Musisz użyć odpowiedniego obsługiwanego regionu, dlatego używany jest tutaj region Singapuru.
Czego się nauczysz:
- Kompiluj proces w CodeBuild
- Utwórz projekt kompilacji
- Integracja Jenkinsa z AWS CodeBuild
- Podsumowanie
- rekomendowane lektury
Kompiluj proces w CodeBuild
Poniżej przedstawiono proces, który jest wykonywany podczas kompilacji podczas korzystania z usługi CodeBuild:
- Kod źródłowy jest pobierany z repozytorium CodeCommit. Kod źródłowy można również przechowywać w GitHubie lub nawet w wiadrze S3.
- Usługa CodeBuild opiera się na pliku o nazwie buildspec.yml który zawiera kilka poleceń do uruchomienia w fazach kompilacji, takich jak Install, Pre-Build, Build i Post-Build. Ten plik musi znajdować się w katalogu głównym folderu projektu i musi zostać zatwierdzony w repozytorium.
- Jeśli nie chcesz używać rozszerzenia buildspec.yml do wykonania kompilacji można również bezpośrednio użyć poleceń maven.
- Na koniec wygenerowane artefakty, takie jak plik J2EE JAR / WAR / EAR, są przechowywane w zasobniku S3.
- Powiadomienia za pomocą AWS Simple Notification Service (SNS) można również skonfigurować tak, aby wysyłały wyniki kompilacji pocztą elektroniczną do odpowiednich użytkowników.
Tutaj zobaczymy, jak używać repozytorium CodeCommit (patrz część 1) i komendy maven, aby zbudować nasz projekt i przechowywać artefakt w wiadrze S3.
Utwórz projekt kompilacji
Zaloguj się do AWS i uruchom usługę CodeBuild. Kliknij, aby utworzyć nowy projekt kompilacji.
Wprowadź szczegóły w następujący sposób:
Nazwa Projektu: AWS-HelloWorld
Dostawca źródła: AWS CodeCommit
Magazyn: AWS-HelloWorld
System operacyjny: Ubuntu
Czas działania: Jawa
Wersja środowiska wykonawczego: openjdk-8
Specyfikacja budowy: Wstaw polecenia kompilacji
Polecenia budowania: mvn clean install
Pliki wyjściowe: Target / AWS-HelloWorld-1.0.0.war (jest to format Artifact ID-Version pobrany z pliku POM).
Artefakty: Gdzie umieścić artefakty z tego projektu kompilacji.
Rodzaj: Amazon S3
Nazwa: HWJavaWebTarget (będzie to folder w zasobniku).
Nazwa wiadra: hwcodebuildbucket (zasobnik musi zostać utworzony początkowo przed uruchomieniem kompilacji i musi być pisany małymi literami zgodnie z konwencją).
Poniższe 3 zrzuty ekranu pochodzą z jednego formularza do konfigurowania projektu kompilacji:
jak wydrukować tablicę w odwrotnej kolejności
Kliknij Kontynuuj, a następnie Zapisz. Kompilację można teraz uruchomić, klikając Rozpocznij tworzenie przycisk.
Kliknij ponownie Rozpocznij tworzenie aby wyświetlić postęp wykonania.
Kompilacja została teraz pomyślnie zakończona, a artefakty zostały przesłane do zasobnika S3.
Widok łyżki S3
oprogramowanie szpiegujące do umieszczenia na telefonie komórkowym
Plik WAR może być teraz używany do wdrażania na odpowiednich serwerach aplikacji.
Integracja Jenkinsa z AWS CodeBuild
Jak widzieliśmy w samouczku nr 1 z tej serii, w jaki sposób skonfigurowano Jenkins z repozytorium CodeCommit w celu włączenia działania Continuous Integration. Po skonfigurowaniu repozytorium kontroli wersji można teraz wyzwolić kompilację, integrując CodeBuild z tym samym zadaniem kompilacji Jenkins.
W celu integracji należy zainstalować wtyczkę AWS CodeBuild do Jenkins. Możesz go pobrać i zainstalować z tutaj .
Użyj Jenkins => Zarządzaj wtyczkami, aby zainstalować wtyczkę.
Wybierz AWS CodeBuild jako środowisko kompilacji i wybierz odpowiedni projekt CodeBuild skonfigurowany w AWS, jak pokazano poniżej. Klucze dostępu i tajne klucze użytkownika IAM również będą musiały zostać wprowadzone w ramach konfiguracji.
Kluczową kwestią, o której należy tutaj pamiętać, jest to, że kompilacja nie została uruchomiona w środowiskach lokalnych, ale została wykonana w chmurze. Nie ma więc potrzeby udostępniania żadnych serwerów kompilacji.
Podsumowanie
Dzięki temu samouczkowi dowiedzieliśmy się, jak repozytorium CodeCommit można wykorzystać do ściągnięcia kodu i wykonania kompilacji Maven przy użyciu usługi CodeBuild.
Kompilację może również uruchomić Jenkins. Wygenerowany artefakt, który jest głównie plikiem WAR, jest następnie przechowywany w zasobniku AWS S3.
W naszym nadchodzącym samouczku zobaczymy, jak plik WAR z zasobnika S3 może zostać wykorzystany do wdrożenia serwera aplikacji Tomcat przy użyciu usługi AWS CodeDeploy.
POPRZEDNIA samouczek | NEXT Tutorial
rekomendowane lektury
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- Korzystanie z narzędzia Maven Build Automation Tool i Maven Project Setup dla Selenium - samouczek Selenium # 24
- Samouczek SVN: Zarządzanie kodem źródłowym przy użyciu Subversion
- Samouczek Tortoise SVN: Zmiany w repozytorium kodu
- Najlepsze narzędzia AWS DevOps do tworzenia i wdrażania w chmurze
- AWS Elastic Beanstalk Tutorial do wdrażania aplikacji sieci Web .NET
- Samouczek AWS CodeCommit dotyczący wdrażania DevOps w chmurze
- Zbuduj jednostronicową aplikację za pomocą AngularJS (samouczek z przykładem)