Jenkins/Sonar CI22/11/2011
Softjourn Inc.Jenkins/Sonar CI    Anatoliy Okhotnikov    Softjourn Inc.
Про що буде йти мова●   Що таке Continuous Integration?●   Jenkins (Oracle Hudson)●   Установка Jenkins (Ubuntu Server)●  ...
Що таке continuous integration (CI)• Continuous Integration (неперервна  інтеграція) це практика розробки пз, у якій  член...
Jenkins (Oracle Hudson)•    Легке встановлення•    Легка конфігурація•    Підтримка наборів змін•    Постійні посилання•  ...
Установка Jenkins (Ubuntu Server)• Інструкції по установці доступні на  http://pkg.jenkins-ci.org/debian/• Додати ключ реп...
Установка Інструментів• Для статичного аналізу коду  використовуються FindBugs та PMD.• FindBugs –  http://findbugs.source...
Приклад Java проекту• Автоматичний моніторинг SCM• Побудова проекту• Автоматичне тестування• Статичний аналіз коду• Публік...
Створення Build Job• Build a free-style software project: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Збереження білдів• Зберігаємо 1, решту – видаляємо:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Налаштування SCM• “Source Code Management”• Credentials: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Побудова за допомогою Maven• Додамо Maven у Build секції:• Перевіряти SCM кожні 5 хвилин:Copyright © 2000-2011 Softjourn, ...
Архівація та впровадження• Збудованого артефакту:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Перша Побудова• Запустити першу побудову або  почекати на SCM Poll трігер• Може тривати довго (кешування  онлайн бібліотек...
Запуск Інструментів Аналізу• “Post Steps”: Invoke Ant                                                  build.xml у workspa...
Налаштування задач FindBugs та PMD• Додати два елементи “taskdef” у файл  побудови: Copyright © 2000-2011 Softjourn, Inc. ...
Налаштування цілей FindBugs та PMD• Додати два елементи “target” у файл  побудови: Copyright © 2000-2011 Softjourn, Inc. A...
Результат Побудови• Доступні звіти FindBugs та PMD:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Звіт FindBugs• Попередження:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Звіт PMD• Попередження:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Sonar• Відкрита платформа для управління якістю  коду – покриває сім осей якості коду:• Розширюється за допомогою плагінів...
Архітектура SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
Установка Sonar (Ubuntu Server)• Інструкції по установці доступні на  http://docs.codehaus.org/display/SONAR/Install+Sonar...
Конфігурація Sonar у Jenkins• Додамо у “Post-build Actions”:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
Метрики SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
Motion ChartCopyright © 2000-2011 Softjourn, Inc. All rights reserved
RadiatorCopyright © 2000-2011 Softjourn, Inc. All rights reserved
Питання та обговорення “Анатолій Охотніков” <aokhotnikov@softjourn.com>Copyright © 2000-2011 Softjourn, Inc. All rights re...
Upcoming SlideShare
Loading in...5
×

Jenkins CI (ukr)

309

Published on

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

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
309
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Jenkins CI (ukr)

  1. 1. Jenkins/Sonar CI22/11/2011
  2. 2. Softjourn Inc.Jenkins/Sonar CI Anatoliy Okhotnikov Softjourn Inc.
  3. 3. Про що буде йти мова● Що таке Continuous Integration?● Jenkins (Oracle Hudson)● Установка Jenkins (Ubuntu Server)● Створення завдання на прикладі Java● Інструменти статичного аналізу● Sonar. Установка. Аналітика.● Питання та обговорення
  4. 4. Що таке continuous integration (CI)• Continuous Integration (неперервна інтеграція) це практика розробки пз, у якій члени команди часто інтегруть свої наробки; звично кожен інтегрує принаймі щоденно, що призводить до багатьох інтеграцій на день.• Кожна інтеграція перевіряється автоматичною побудовою (включно з тестами) щоб виявити помилки інтегрування якнайшвидше.• Інтеграція це вид процесу “заплати мені зараз або заплатиш потім більше” Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  5. 5. Jenkins (Oracle Hudson)• Легке встановлення• Легка конфігурація• Підтримка наборів змін• Постійні посилання• Інтеграція з RSS/E-mail/IM• Після-фактичні мітки• Звітування JUnit/TestNG• Розподілені побудови• “Відбитки” фалів• Підтримка плагінів Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  6. 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. 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. 8. Приклад Java проекту• Автоматичний моніторинг SCM• Побудова проекту• Автоматичне тестування• Статичний аналіз коду• Публікація артифактів• Автоматичне впровадження• Інструменти: Ant, Maven, JUnit, PMD, FindBugs, SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  9. 9. Створення Build Job• Build a free-style software project: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  10. 10. Збереження білдів• Зберігаємо 1, решту – видаляємо:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  11. 11. Налаштування SCM• “Source Code Management”• Credentials: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  12. 12. Побудова за допомогою Maven• Додамо Maven у Build секції:• Перевіряти SCM кожні 5 хвилин:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  13. 13. Архівація та впровадження• Збудованого артефакту:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  14. 14. Перша Побудова• Запустити першу побудову або почекати на SCM Poll трігер• Може тривати довго (кешування онлайн бібліотек Maven)• Якщо у системному шляху немає Maven – треба встановити Maven Plug-in у Jenkins (наприклад v2.2.1)• /var/lib/jenkins/workspaceCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  15. 15. Запуск Інструментів Аналізу• “Post Steps”: Invoke Ant build.xml у workspace проекту Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  16. 16. Налаштування задач FindBugs та PMD• Додати два елементи “taskdef” у файл побудови: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  17. 17. Налаштування цілей FindBugs та PMD• Додати два елементи “target” у файл побудови: Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  18. 18. Результат Побудови• Доступні звіти FindBugs та PMD:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  19. 19. Звіт FindBugs• Попередження:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  20. 20. Звіт PMD• Попередження:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  21. 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. 22. Архітектура SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  23. 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. 24. Конфігурація Sonar у Jenkins• Додамо у “Post-build Actions”:Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  25. 25. Метрики SonarCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  26. 26. Motion ChartCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  27. 27. RadiatorCopyright © 2000-2011 Softjourn, Inc. All rights reserved
  28. 28. Питання та обговорення “Анатолій Охотніков” <aokhotnikov@softjourn.com>Copyright © 2000-2011 Softjourn, Inc. All rights reserved
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×