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

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Jenkins CI (ukr)

264
views

Published on

● Що таке Continuous Integration? …

● Що таке 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
264
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

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