Инструмент разработчика Jenkins

Jenkins - это инструмент для непрерывной интеграции(Continuous Integration). Удобное средство автоматизации и поддержки новомодных Agile методологий разработки программного обеспечения. Помогает группе разработчиков постоянно поддерживать код в работоспособном состоянии. Обычно в нем настраивают автоматическую компиляцию, запуск тестов, деплой Веб приложения. Скачать Jenkins можно с сайта проекта jenkins-ci.org находим Java Web Archive (.war) - latest version.

Простой путь чтобы запустить Jenkins это через встроенный jetty сервер. Нужно выполнить такую команду:

C:\jenkins> java -jar jenkins.war

В консоли появятся логи и через некоторое время сервер запустится, это станет ясно из сообщения в консоли - INFO: Jenkins is fully up and running. Теперь запускаем или переходим в браузер и набираем в строке url - localhost:8080. Откроется страница показаная ниже.

Начальная страница Jenkins'а

Инструмент разработчика Maven

Java Maven. Часть 1 — Введение

Apache Maven — фреймворк для автоматизации сборки проектов, специфицированных на XML-языке POM (англ. Project Object Model). Активно используется в больших проектах и помогает осуществить процессы компиляции, создания jar, создания дистрибутива программы, генерации документации. Для платформы Java существуют два основных инструмента для сборки: Ant и Maven. В отличие от Apache Ant, Maven обеспечивает декларативную, а не императивную сборку проекта. То есть, в файлах проекта pom.xml, которые использует для своей работы Maven, содержится его декларативное описание, а не отдельные команды. Все задачи по обработке файлов проекта Maven выполняет через плагины. Главное преимущество Maven — это управление зависимостями. Редко какие проекты пишутся без использования сторонних библиотек. Эти сторонние библиотеки зачастую тоже в свою очередь используют библиотеки разных версий. Maven позволяет управлять такими сложными зависимостями. Что позволяет разрешать конфликты версий и в случае необходимости легко переходить на новые версии библиотек. Для начала скачаем и установим Maven. Мы будем работать с последней на данный момент версией Apache Maven, а именно 3.0.4, которую можно скачать тут. У Apache Maven немного мудреный процесс установки:

  • 1) Распаковываете zip архив в директорию, в которую хотите установить Maven. У меня это C:\Program Files\Java. После распаковки создастся поддиректория с именем apache-maven-3.0.4
  • 2) Создайте переменную среды с именем M2_HOME. Это делается так: нажимаете WinKey + Pause, далее Дополнительные параметры системы, находите кнопку Переменные среды, затем Создать, указываете имя переменной M2_HOME и задаете значение, являющееся путем к директории apache-maven-3.0.4, у меня путь получился таким: C:\Program Files\Java\apache-maven-3.0.4
  • 3) В этом же диалоговом окне создайте переменную с именем M2 и присвойте ей значение %M2_HOME%\bin
  • 4) Здесь же создайте еще переменную MAVEN_OPTS и присвойте ей значение -Xms256m или -Xmx512m. Это зависит от настроек вашей виртуальной машины. Данный пункт является необязательным, он просто дает некоторые дополнительные возможности для Maven.
  • 5) Здесь же создайте или измените переменную Path, присвоив ей значение %M2%. Данное действие позволит нам работать с Maven через командную строку.
  • 6) Также убедитесь, что у вас есть переменная с именем JAVA_HOME и она содержит путь к вашему JDK. У меня: C:\Program Files\Java\jdk1.7.0_01
  • 7) Откройте командную строку и выполните в ней mvn —version, чтобы убедиться в корректной установке. Вы должны увидеть информацию о текущей версии Maven.
    • Ура! Установка прошла успешно! Чтобы разобраться в работе Apache Maven, давайте напишем простую программу в среде Eclipse. Создайте новый Maven Project. Для этого переходим по следующим пунктам меню: File->New->Other->Maven->Maven Project и нажимаем Next. Далее ставим галочки напротив пунктов Create a simple project и Use default Workspace location и снова жмем Next. В этом окне нам нужно будет задать идентификаторы нашего проекта: groupId, artifactId, version. Указывать в них вы можете любые значения, однако рекомендуется в groupId указывать отличительный идентификатор вашего проекта, в artifactId — имя итогового jar файла без указания версии, в version вы указываете версию вашего приложения. Укажем следующие данные: groupId: ru.javaxblog, artifactId: MavenExample, version: 0.0.1-SNAPSHOT. После этого жмем Finish. В папке src создадутся папки main и test. В первую папку помещают классы нашего приложения, во вторую — тест-классы. В директории main.java создайте иерархию пакетов ru.javaxblog.time, а в нем класс Time:

      
      package com.studypeople.file;
      
      import javax.swing.JOptionPane;
      
      public class Time {
      
          public static void main(String []args){
              String dt=new java.text.SimpleDateFormat(("hh:mm aaa")).format(java.util.Calendar.getInstance().getTime());
              JOptionPane.showMessageDialog(null, "Текущее время: " + dt, "Время", JOptionPane.INFORMATION_MESSAGE);
          }
      }
      

      Как видите, все, что делает наша программа, — это просто вывод текущего времени в диалоговом окне. Создадим простой JUnit тест в нашем проекте. Для тех, кто еще не знаком с библиотекой JUnit, прочитайте статью Java JUnit. Часть 1 — Введение. Для тех, кто знаком, создаем в папке test.java иерархию пакетов ru.javaxblog.time а в нем тестовый класс TestTime:

      
      package com.studypeople.file;
      
      import static org.junit.Assert.*;
      
      import org.junit.Test;
      
      public class TestTime {
      
          @Test
          public void testMain() {
              String dt=new java.text.SimpleDateFormat(("hh:mm aaa")).format(java.util.Calendar.getInstance().getTime());
              assertNotNull(dt);
          }
      
      }
      

      Юнит-тестирование мы добавили только затем, чтобы изучить, как в Maven работают зависимости от сторонних библиотек. Добавлять к проекту библиотеку JUnit нет надобности. Мы сообщим Maven о данной зависимости, и он сам скачает ее и добавит к проекту. Давайте попробуем собрать наш проект. Информация для программного проекта, поддерживаемого Apache Maven, содержится в XML-файле с именем pom.xml (от Project Object Model). При исполнении Maven проверяет прежде всего, содержит ли этот файл все необходимые данные и все ли данные синтаксически правильно записаны. Находится данный файл в главной директории нашего проекта. Для добавления зависимости от библиотеки JUnit необходимо кликнуть по нему, перейти на вкладку dependencies и затем нажать на Add. В появившемся окне указываем идентификаторы библиотеки JUnit: groupId: junit, artifactId: junit, version: 4.10, Scope: test. После сохранения изменений, зависимость будет добавлена и файл pom.xml будет выглядеть следующим образом:

      
      
        
        4.0.0
       
        
        com.studypeople.file;
        MavenExample
        0.0.1-SNAPSHOT
       
        
        
       
          
              
              junit
              junit
              4.10
              
              test
          
        
       
      
      

      Также можно перейти не на dependencies, а на вкладку pom.xml и работать с ним как с текстовым редактором. Как вы понимаете, файл pom.xml можно редактировать не только через среду Eclipse, но и банально открыв его текстовым редактором, просто скопировав в него вышеприведенный код. Внутри тега dependencies указываются все зависимости вашего проекта внутри тегов dependency. Наш проект имеет всего одну зависимость — от JUnit. Мы показываем это мавену также с помощью тегов groupId, artifactId, version. Эти данные берутся у разработчиков библиотеки, которую вы используете или у специальных поисковых машин (подробнее в следующей статье). Version вы можете указать свой — мавен скачает указанную вами версию библиотеки и автоматически добавит к проекту. Таким образом, чтобы подключить любую библиотеку к вашему проекту, вы с легкостью сможете это сделать с помощью Maven, просто указав ему еще одну зависимость в теге dependencies. Запустить сборку можно двумя способами: через командную строку или через среду Eclipde. Для запуска сборки через командную строку, вам необходимо в ней набрать mvn <этап> из того места, где находится файл pom.xml. Где <этап> — это имя этапа жизненного цикла сборки, а именно: validate — проверяет корректность метаинформации о проекте compile — компилирует исходники test — прогоняет тесты классов из предыдущего шага package — упаковывает скомпилированые классы в удобноперемещаемый формат (jar или war, к примеру) integration-test — отправляет упаковынные классы в среду интеграционного тестирования и прогоняет тесты verify — проверяет корректность пакета и удовлетворение требованиям качества install — загоняет пакет в локальный репозиторий, откуда он (пакет) будет доступен для использования как зависимость в других проектах deploy — отправляет пакет на удаленный production сервер, откуда другие разработчики его могут получить и использовать При этом все шаги последовательны. И если, к примеру, выполнить mvn package, то фактически будут выполнены шаги: validate, compile, test и package. Если mvn test, то только validate, compile, test. Таким образом использовать Maven довольно просто. Наберем в командной строке mvn package. Мавен начнет собирать наш проект, последовательно проходя каждый этап. В итоге он выведет Build Success в случае успеха сборки, иначе Build Fail. В Eclipse для сборки проекта вам нужно выделить проект в дереве проектов и из меню(или панели меню) выбрать пункт Run as и пункт Maven <этап>, например Maven Install. Сборка завершилась, и теперь мы можем увидеть, что в директории проекта в папке target будут помещены откомпилированные классы нашего приложения, а также jar файл с именем MavenExample-0.0.1-SNAPSHOT.jar. Скачать исходники проекта: MavenExample.zip На этом пока все. Рекомендую также посмотреть статью, посвященную другому сборщику проектов — Apache Ant. Найти ее можно здесь. В следующей части мы рассмотрим такое понятие как репозитории Maven и научимся работать с одной из них. написано автором Юрий.

      • ANT
      • GIT
      • Gradle