Jenkins CI (ukr)
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Jenkins CI (ukr)

on

  • 546 views

● Що таке Continuous Integration? ...

● Що таке Continuous Integration?
● Jenkins (Oracle Hudson)
● Установка Jenkins (Ubuntu Server)
● Створення завдання на прикладі Java
● Інструменти статичного аналізу
● Sonar. Установка. Аналітика.

Statistics

Views

Total Views
546
Views on SlideShare
546
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Jenkins CI (ukr) Presentation Transcript

  • 1. Jenkins/Sonar CI22/11/2011
  • 2. Softjourn Inc.Jenkins/Sonar CI Anatoliy Okhotnikov Softjourn Inc.
  • 3. Про що буде йти мова● Що таке Continuous Integration?● Jenkins (Oracle Hudson)● Установка Jenkins (Ubuntu Server)● Створення завдання на прикладі Java● Інструменти статичного аналізу● Sonar. Установка. Аналітика.● Питання та обговорення
  • 4. Що таке continuous integration (CI)• Continuous Integration (неперервна інтеграція) це практика розробки пз, у якій члени команди часто інтегруть свої наробки; звично кожен інтегрує принаймі щоденно, що призводить до багатьох інтеграцій на день.• Кожна інтеграція перевіряється автоматичною побудовою (включно з тестами) щоб виявити помилки інтегрування якнайшвидше.• Інтеграція це вид процесу “заплати мені зараз або заплатиш потім більше” Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 5. Jenkins (Oracle Hudson)• Легке встановлення• Легка конфігурація• Підтримка наборів змін• Постійні посилання• Інтеграція з RSS/E-mail/IM• Після-фактичні мітки• Звітування JUnit/TestNG• Розподілені побудови• “Відбитки” фалів• Підтримка плагінів Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 6. Установка Jenkins (Ubuntu Server)• Інструкції по установці доступні на http://pkg.jenkins-ci.org/debian/• Додати ключ репозиторія:wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key |sudo apt-key add -• Додати запис репозиторія у /etc/apt/sources.list: deb http://pkg.jenkins-ci.org/debian binary/• Оновити індекс пакетів та встановити: sudo apt-get update sudo apt-get install jenkins Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 7. Установка Інструментів• Для статичного аналізу коду використовуються FindBugs та PMD.• FindBugs – http://findbugs.sourceforge.net/downloads.html Пошук багів за певними патернами• PMD – http://sourceforge.net/projects/pmd/ Можливі баги, мертвий код, неоптимальний код, занадто складні вирази, подвійний код• Скачати та встановити будь-де – наприклад у /opt (буде прописано у build.xml) Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 8. Приклад Java проекту• Автоматичний моніторинг SCM• Побудова проекту• Автоматичне тестування• Статичний аналіз коду• Публікація артифактів• Автоматичне впровадження• Інструменти: Ant, Maven, JUnit, PMD, FindBugs, SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 9. Створення Build Job• Build a free-style software project: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 10. Збереження білдів• Зберігаємо 1, решту – видаляємо:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 11. Налаштування SCM• “Source Code Management”• Credentials: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 12. Побудова за допомогою Maven• Додамо Maven у Build секції:• Перевіряти SCM кожні 5 хвилин:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 13. Архівація та впровадження• Збудованого артефакту:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 14. Перша Побудова• Запустити першу побудову або почекати на SCM Poll трігер• Може тривати довго (кешування онлайн бібліотек Maven)• Якщо у системному шляху немає Maven – треба встановити Maven Plug-in у Jenkins (наприклад v2.2.1)• /var/lib/jenkins/workspaceCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 15. Запуск Інструментів Аналізу• “Post Steps”: Invoke Ant build.xml у workspace проекту Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 16. Налаштування задач FindBugs та PMD• Додати два елементи “taskdef” у файл побудови: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 17. Налаштування цілей FindBugs та PMD• Додати два елементи “target” у файл побудови: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 18. Результат Побудови• Доступні звіти FindBugs та PMD:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 19. Звіт FindBugs• Попередження:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 20. Звіт PMD• Попередження:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 21. Sonar• Відкрита платформа для управління якістю коду – покриває сім осей якості коду:• Розширюється за допомогою плагінів• Підтримка Java вбудована. Open Source та комерційні плагіни для покриття C, C#, Flex, Natural, PHP, PL/SQL, Cobol та Visual Basic 6. Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 22. Архітектура SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 23. Установка Sonar (Ubuntu Server)• Інструкції по установці доступні на http://docs.codehaus.org/display/SONAR/Install+Sonar• Зкачати та розпакувати Sonar (/opt):wget -q -O 1.zip http://dist.sonar.codehaus.org/sonar-2.11.zip && unzip 1.zip• Запуск Sonar на Windows: binwindows-x86-32StartSonar.bat• Запуск Sonar на інших платформах: bin/[OS]/sonar.sh console Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 24. Конфігурація Sonar у Jenkins• Додамо у “Post-build Actions”:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 25. Метрики SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 26. Motion ChartCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 27. RadiatorCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  • 28. Питання та обговорення “Анатолій Охотніков” <aokhotnikov@softjourn.com>Copyright © 2000-2011 Softjourn, Inc. All rights reserved