Program szkolenia: Continuous Integration i Git

Podobne dokumenty
Program szkolenia: Jenkins - Continuous Integration

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Tester oprogramowania 2014/15 Tematy prac dyplomowych

Narzędzia podnoszące jakość procesu wytwarzania i wdrażania

Zajęcia prowadzone przez MCT, auditora wiodącego systemów bezpieczeństwa informacji.

Ciągłe dostarczanie oprogramowania : kompletny przewodnik / Eberhard Wolff. Gliwice, cop Spis treści

Całościowe podejście do testowania automatycznego dla programistów. /C#/PHP (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Projektowanie, tworzenie aplikacji mobilnych na platformie Android

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

Testowanie aplikacji mobilnych na platformie Android - architektura, wzorce, praktyki i narzędzia

Open Source w służbie developerom

Szkolenie wycofane z oferty

The current software tools for the JEE platform

CI/CD - CO TO? PO CO? JAK?

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Produktywne tworzenie aplikacji webowych z wykorzystaniem Groovy i

Projektowanie i implementacja wysokowydajnych aplikacji w języku

PRZEWODNIK PO PRZEDMIOCIE

Zaawansowane programowanie w języku C++

AUREA BPM HP Software. TECNA Sp. z o.o. Strona 1 z 7

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Studia podyplomowe PROGRAM NAUCZANIA PLAN STUDIÓW

Szkolenie wycofane z oferty. Programowanie w JavaScript (zawiera jquery)

Techniki efektywnego testowania kodu dla programistów Java (Spock

Szkolenie: Podstawy automatyzacji z Selenium IDE

Projektowanie oprogramowania

Program szkolenia: Symfony, nowoczesny framework PHP

INŻYNIERIA OPROGRAMOWANIA

REFERAT PRACY DYPLOMOWEJ

PHP revisited - odświerzenie spojrzenia na programowanie w PHP

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

PROJEKT Z BAZ DANYCH

Architektura mikroserwisów na platformie Spring IO

Program szkolenia: Test Driven Development (TDD) using Spock or JUnit 5

Continuous Integration i jakość kodu. Michał Prajs

Program szkolenia: Administracja SQL Server

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

Program szkolenia: Tworzenie aplikacji w Ruby on Rails z wykorzystaniem zwinnych metodyk

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Korporacyjna Magistrala Usług na przykładzie Mule ESB

Egzamin / zaliczenie na ocenę*

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

Inżynieria Oprogramowania w Praktyce

Wprowadzenie do metodologii modelowania systemów informacyjnych. Strategia (1) Strategia (2) Etapy Ŝycia systemu informacyjnego

TESTER OPROGRAMOWANIA STUDIA PODYPLOMOWE

Projektowanie oprogramowania

Zarządzanie testowaniem wspierane narzędziem HP Quality Center

VMware View: Desktop Fast Track [v5.1] Dni: 5. Opis: Adresaci szkolenia

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Michał Olejnik. 22 grudnia 2009

Usługa: Testowanie wydajności oprogramowania

Uniwersytet Warszawski Wydział Matematyki, Informatyki i Mechaniki. Paweł Parys. Nr albumu: Aukcjomat

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Java Persistence API - zagadnienia zaawansowane

Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer

KOŁO NAUKOWE INFORMATYKÓW SYSTEMY KONTROLI WERSJI CZ.1 16 XII 2009 OPRACOWAŁ: PRZEMYSŁAW PARDEL

Problemy optymalizacji, rozbudowy i integracji systemu Edu wspomagającego e-nauczanie i e-uczenie się w PJWSTK

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

Programowanie sieciowe Network programming PRZEWODNIK PO PRZEDMIOCIE

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

Program szkolenia: REST i Microservices w PHP

Szkolenie: Automatyzacja testowania

Kod doskonały : jak tworzyć oprogramowanie pozbawione błędów / Steve McConnell. Gliwice, cop Spis treści. Wstęp 15.

Projektowanie oprogramowania

Bazy i Systemy Bankowe Sp. z o.o. ul. Kasprzaka 3, Bydgoszcz

Spis treści. Przedmowa Karolina Zmitrowicz, Adam Roman. Część I. Organizacja i procesy 1

PRZEWODNIK PO PRZEDMIOCIE

Kompleksowe tworzenie aplikacji klasy Desktop z wykorzystaniem SWT i

Czym jest jpalio? jpalio jpalio jpalio jpalio jpalio jpalio jpalio jpalio

Warsztat: "Automatyzacja testów (JAVA) - od podstaw"

Git rozproszony system kontroli wersji

Model Matematyczny Call Center

Artifactory Power Pack Pro w procesie wytwarzania oprogramowania. Artifactory Power Pack Plugins Artifactory License Control

Oceny z prezentacji INKU011S. Zofia Kruczkiewicz

Proces ciągłej integracji Git + Gerrit + Jenkins. autor : Maciej Pieszała

GLOBAL4NET Agencja interaktywna

Fuzzing OWASP The OWASP Foundation Piotr Łaskawiec J2EE Developer/Pentester

Program szkolenia: Wprowadzenie do Domain Driven Design dla biznesu (część 0)

Systemy kontroli wersji git od wewnatrz Użycie gita Koniec. git. Rozproszony system kontroli wersji. sphere.pl. Koło Naukowe Sfera

System zarządzający grami programistycznymi Meridius

Program szkolenia: Wzorce projektowe i ich implementacja w C# oraz testowanie automatyczne

PRZEWODNIK PO PRZEDMIOCIE

Plan testów do Internetowego Serwisu Oferowania i Wyszukiwania Usług Transportowych

Szkolenie wycofane z oferty. Program szkolenia: Enterprise Java Beans 3.0/3.1

Szkolenie autoryzowane. MS 6232 Wdrażanie bazy danych Microsoft SQL Server 2008 R2

Tematy seminariów wg Roger S. Pressman, Praktyczne podejście do oprogramowania, WNT, Zofia Kruczkiewicz

Załącznik 1 instrukcje instalacji

INŻYNIERIA OPROGRAMOWANIA

Design thinking zaprojektuj, zbuduj i przetestuj swoje pomysły

Prezentacja specjalności studiów II stopnia. Inteligentne Technologie Internetowe

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Transkrypt:

Program szkolenia: Continuous Integration i Git Informacje: Nazwa: Kod: Kategoria: Grupa docelowa: Czas trwania: Forma: Continuous Integration i Git tools-git-ci Narzędzia developerzy testerzy 2 dni 50% wykłady / 50% warsztaty Podczas szkolenia uczestnicy poznają informacje oraz praktyczne techniki pozwalające na samodzielne projektowanie oraz implementowanie procesu ciągłej integracji. W pierwszej kolejności zaprezentowane zostaną zagadnienia podstawowe takie jak: instalacja i konfiguracja narzędzi, automatyzacja kompilacji, różnych rodzajów testowania oraz statycznej analizy kodu. Następnie poruszone zostaną zaawansowane rozwiązania, takie jak: integracja z systemami zewnętrznymi, współbieżne wykonywanie planów oraz wykorzystanie procesu ciągłej integracji podczas wdrażania koncepcji Continous Delivery. Na zakończenie uczestnicy poznają polecane metody projektowania i optymalizacji oraz wskazówki pozwalające wybrać narzędzia najbardziej odpowiadające ich potrzebom. Podczas szkolenie uczestnicy nabywają praktyczną umiejętność pracy zespołowej z rozproszonym repozytorium kodu. Uczestnicy przechodzą przez wszystkie etapy pracy (Flow) z projektem poznając najlepsze praktyki dla każdego z etapów. Podczas warsztatów kładziemy szczególny nacisk na zmianę nawyków powstałych podczas korzystania z repozytoriów starszej generacji. Zalety szkolenia: Poprawienie jakości oprogramowania Automatyzacja zadań Continuous Delivery Zalecane wzorce i praktyki Strona: 1/6

Szczegółowy program: 1. Podstawy 1.1. Co to jest ciągła integracja 1.2. Cechy 1.3. Korzyści 1.4. Ciągła integracja jako proces 1.4.1. Prezentacja praktyk programistycznych wymaganych do poprawnej implementacji CI, wykazanie, że CI to proces a nie tylko narzędzie do automatycznej kompilacji 2. Automatyzacja 2.1. Dlaczego warto automatyzować 2.1.1. Przedstawienie korzyści płynących z automatyzacji zadań 2.2. Narzędzia 2.2.1. Przedstawienie najpopularniejszych narzędzi umożliwiających automatyzację (Ant, Maven, Gradle i inne), ich zalet, wad oraz potencjalnych zastosowań. 2.3. Automatyzacja na serwerze 2.3.1. Opis możliwości automatyzacji oferowanej przez serwer CI 2.4. Prostota kontra elegancja 2.4.1. Przedstawienie dylematu pomiędzy stosowaniem rozwiązań szybkich a rozwiązań czasochłonnych i eleganckich, jakie są ich zalety, wady oraz kiedy warto je stosować 3. Serwer ciągłej integracji 3.1. Narzędzie 3.1.1. Pierwsze zaprezentowanie konkretnego serwera CI, np.: Atlassian Bamboo, przedstawienie procesu instalacji oraz podstawowych jego elementów i funkcji 3.2. Architektura 3.2.1. Przedstawienie architektury działającego systemu, jakie są jej cechy, jak przebiega komunikacja, jakie są możliwości jej modernizacji oraz jakie posiada wymagania środowiskowe Strona: 2/6

3.3. Podstawowe rozwiązania 3.3.1. W tej części przedstawiona zostanie implementacja najczęściej wykonywanych zadań. Są to: tworzenie planu automatycznie kompilującego kod źródłowy, jak pracować z wynikami planów, zarządzanie użytkownikami oraz zaprezentowanie dostępnych możliwości automatycznego powiadamiania i uruchamiania. 4. Testowanie 4.1. Wprowadzenie 4.1.1. Ogólne przedstawienie możliwości testowania za pomocą serwera CI 4.2. Korzyści 4.3. Testy jednostkowe 4.3.1. Przedstawienie możliwości wykonywania testów jednostkowych oraz sposobu pracy z wynikami 4.4. Testy funkcjonalne 4.4.1. Przedstawienie możliwości automatyzacji testowania funkcjonalnego za pomocą Selenium oraz RobotFramework a, opis przebiegu i możliwości integracji z serwerem CI, przykłady użytkowania oraz pracy z wynikami 4.5. Testy wydajnościowe 4.5.1. Przedstawienie najpopularniejszych narzędzi umożliwiających przeprowadzanie testów wydajnościowych oraz jakie są możliwości ich integracji z serwerem CI 4.6. Użyteczne opcje 4.6.1. Opis użytecznych opcji wspomagających testowanie, oraz jak wygląda praca z wynikami testów(raportowanie błędów, opcje powiadamiania) 4.7. Optymalizacja 4.7.1. Przedstawienie praktyk i rozwiązań umożliwiających optymalizację wykonywania testów, aby wyniki były bardziej wiarygodne i szybciej dostępne 5. Statyczna analiza kodu 5.1. Narzędzia 5.1.1. Przegląd dostępnych narzędzi(pmd, Sonar, CheckStyle, FindBugs), jakie są ich zalety, wady oraz potencjalne zastosowania 5.2. Integracja Strona: 3/6

5.2.1. Opis procesu integracji z serwerem CI, przykłady użytkowania oraz pracy z wynikami 5.3. Korzyści 6. Zalecane praktyki 6.1. Przykłady optymalizacji 6.1.1. Przedstawienie przykładów oraz kluczowych praktyk i elementów które pozwolą uczestnikom na dalszą samodzielną optymalizację 6.2. Wzorce i anty-wzroce 6.2.1. Zaprezentowanie najczęściej występujących błędów projektowych oraz ogólnie sprawdzonych i rekomendowanych praktyk. 6.3. Repozytorium Maven a 6.3.1. Przedstawienie możliwości wykorzystania repozytorium Maven a w środowisku CI, jak również korzyści i wyzwań z tego płynącyh 6.4. Trudne problemy 6.4.1. Przedstawienie podstawowych i najczęściej występujących problemów oraz ich potecjalnych rozwiązania. 7. Zaawansowane praktyki 7.1. Rozproszone budowanie 7.1.1. Zaprezentowanie możliwości wykonywania planów w środowisku rozproszonym, jakie płyną z tego korzyści oraz jakie niesie to wyzwania 7.2. Integracja z systemami zewnętrznymi 7.2.1. Zaprezentowanie konkretnych przykładów użytkownika CI w środowisku Cloud czy też integracji z narzędziami zewnętrznymi, np.: Atlassian JIRA 7.3. Rozszerzanie funkcjonalności 7.3.1. Opis możliwości rozszerzania funkcjonalności popularnych serwerów CI za pomocą pluginów, tworzenie i konfiguracja 7.4. Współbieżność 7.4.1. Przedstawienie funkcjonalności współbieżnego wykonywania planów, przykłady zastosowań, korzyści i kosztów 7.5. Wspieranie repozytoriów Strona: 4/6

7.5.1. Omówienie wspieranych repozytoriów kodu źródłowego przez serwery CI, jakie oferują one funkcje pomocnicze, dodatkowo opis wsparcia dla DVCS(jak Git czy Mercurial), przykłady użytkowania 7.6. Automatyczna integracja baz danych 7.6.1. Przedstawienie koncepcji oraz korzyści z niej płynących, operacji bazodanowych podlegających automatyzacji oraz przykładowych rozwiązań /strategii 8. Wstęp do Git-a 8.1. Historia 8.2. Dlaczego rozproszony system kontroli wersji 8.3. Instalacja 9. Podstawy 9.1. tworzenie projektu - różne scenariusze 9.2. wersjonowanie zmian 9.3. przeglądnie historii zmian 9.4. cofanie zmian 9.5. tagowanie 9.6. codzienna praca - typowe czynności 10. Branching i merging 10.1. podstawowy 10.2. zarządzanie branch-ami 10.3. zdalne branch-e 10.4. rebasing 10.5. jednoczesna praca z master i branch 10.6. nalepsze praktyki 11. Git i Eclipse 11.1. wersjonowanie Strona: 5/6

11.2. branching i merging 11.3. praca ze zdalnymi repozytoriami 12. Workflow 12.1. Git flow 12.1.1. development 12.1.2. feature branching 12.1.3. hotfixes 12.1.4. release branching 12.1.5. releasing 12.2. tips and tricks 12.3. Wstęp do Continuous Delivery Strona: 6/6