Jenkins - continuous integration

  1. Ściągnij plik
  1. jenkins.war
       
  1. Uruchom serwer Jenkins :
  1. Z linii poleceń wywołaj (Uwaga! Wymagana Java 8):

    java -jar jenkins.war --httpListenAddress=127.0.0.1 --httpsListenAddress=127.0.0.1 --ajp13ListenAddress=127.0.0.1
  2. Otwórz w przeglądarce: http://127.0.0.1:8080
  3. Odblokuj Jenkinsa podając hasło admina wyświetlane w konsoli Windows (cmd) or zapisane w pliku C:\Users\<nazwa-uzytkownika>\.jenkins\secrets\initialAdminPassword
  4. Zainstaluj sugerowane pluginy (w tym GIT Plugin i Gradle plugin)
  5. Ustaw dane administratora i zatwierdź
  6. Dodaj plugin Locale (Zarządzaj Jenkinsem -> Zarządzaj wtyczkami / Dostępne, zaznacz Locale i wybierz "Zainstaluj bez ponownego uruchamiania")
  7. Ustaw angielskie menu (Zarządzaj Jenkinsem -> Skonfiguruj system / Sekcja "Locale" - wpisz "English", zaznacz "Ignore browser preference and force this language to all users" i Zapisz)
  1. Skonfiguruj prosty system autoryzacji / autentykacji:
  1. Manage Jenkins -> Configure Global Security
  1. Security Realm -> Jenkins's own user database, zaznacz "Allow users to sign up"
  2. Authorization -> Matrix-based security
  1. użytkownikom ‘Anonymous Users’ pozostaw tylko prawo ‘read’
  2. dodaj użytkownika ‘student’ i nadaj mu wszystkie prawa
  3. dodaj użytkownika ‘admin’ i nadaj mu prawo Administer
  4. zapisz ustawienia
  5. wyloguj admina
  6. użyj opcji ‘sign-up’ na stronie głównej aby stworzyć konto ‘student’
  7. zaloguj się jako student i wyłącz opcję ‘sign-up’

  1. Sprawdź czy jest zainstalowany plugin do Gradle :
  1. Manage Jenkins -> Manage Plugins / Installed
       
  1. Skonfiguruj instalację Gradle :
  1. Manage Jenkins -> Global Tool Configuration / sekcja "Gradle" - Add Gradle
  2. Wyłącz 'Install Automatically' i podaj nazwę (np. Gradle 6.0.1) i ścieżkę do gł. katalogu Gradle w polu GRADLE_HOME (ściągnięcie i rozpakowanie Gradle - patrz zajęcia dot. Gradle)
  3. Save
       
  1. Ściągnij plik gradle-projects.zip z zadania Gradle 1
       
  2. Rozpakuj archiwum gradle-projects.zip do katalogu gradle-projects w wybranej przez siebie lokalizacji
       
  3. Skonfiguruj nowe zadanie w Jenkinsie
  1. New Item -> Free-style project (Item name: 'Gradle Projects')
  2. W opcjach projektu wybierz w sekcji "General" przycisk "Advanced", zaznacz "Use custom workspace" -> Directory: ścieżka do gradle-projects
  3. Build Triggers -> Build periodically -> Schedule: H/2 * * * *
    (co dwie minuty)
  4. Build -> Add build step -> Invoke Gradle script ->
       Invoke Gradle -> Gradle Version: Gradle 6.0.1
  5. Save

  1. Odczekaj aż zrobi się build (lub wybierz Build Now) i zobacz co się zbudowało (dlaczego nic?)
  1. zobacz Console Output
       
  1. Dodaj domyślne zadania w pliku build.gradle (na końcu pliku)  w katalogu gradle-projects
  1. defaultTasks 'clean', 'build'
       
  1. Zobacz co się zbudowało
  1. zobacz Console Output
       
  1. Dodaj publikację testów jednostkowych po zbudowaniu projektów:
  1. Gradle Projects -> Configure -> Post-build Actions ->
       Publish JUnit test result report
  2. Test report XMLs: '/*/build/test-results/test/*.xml'
  3. Save
       
  1. Zobacz co się zbudowało
  1. zobacz Test Result
       
  1. Zepsuj którąś z klas, tak żeby testy nie przechodziły
  1. zobacz Test Result

  1. Napraw błędy w testach i sprawdź czy następny build się powiedzie
  1. zobacz Test Result

  1. Ustaw dowolny tekst powitalny na stronie głównej:
  1. Jenkins -> Manage Jenkins -> Configure System -> System Message
  2. Save

  1. Zobacz, że Jenkins ma bardzo dużo różnych pluginów:
  1. Jenkins -> Manage Jenkins -> Manage Plugins -> Available

  1. W przypadku korzystania z konta użytkownika student, zakończ działanie Jenkinsa (Ctrl + C w konsoli), skasuj katalog domowy Jenkinsa i samego Jenkinsa:
  1. uważaj żeby nie pozostawić żadnych wrażliwych danych na lokalnej maszynie w dostępnym dla wszystkich katalogu domowym Jenkinsa
  2. lokalizacja katalogu domowego Jenkinsa:
    Manage Jenkins -> Configure System -> Home Directory