English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Автоматическая депloiement Maven

В процессе разработки проекта процесс развертывания включает следующие шаги:

  • Подайте проектные коды в SVN или хранилище кода и пометьте их меткой.

  • Скачайте полный исходный код из SVN.

  • Соберите приложение.

  • Сохраните выходные файлы сборки WAR или EAR в стандартное сетевое хранилище.

  • Загрузите файлы из Интернета и разверните их на производственном сайте.

  • Обновите документацию и номер версии приложения.

Описание проблемы

Обычно в процессе разработки могут быть задействованы несколько команд. Одна команда может быть ответственной за подачу кода, другая команда за сборку и т.д. Важно отметить, что любая из этих операций может быть выполнена с ошибкой из-за человеческого фактора и работы в многокомандной среде. Например, более старая версия не была обновлена на сетевом компьютере, а затем команда развертывания заново развернула более раннюю версию сборки.

Решение

Для реализации автоматического развертывания можно использовать следующие методы:

  • Используйте Maven для 构建 и публикации проекта

  • Используйте SubVersion, хранилище исходного кода для управления исходным кодом

  • Используйте программное обеспечение для управления удаленными хранилищами (Jfrog или Nexus) для управления двоичными файлами проекта.

Измените файл pom.xml проекта

Мы будем использовать плагины Maven для создания автоматизированного процесса发布的.

например, файл кода pom.xml проекта bus-core-api выглядит следующим образом:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
   http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
   <groupId>bus-core-api</groupId>
   <artifactId>bus-core-api</artifactId>
   <version>1.0-SNAPSHOT</version>
   <packaging>jar</packaging> 
   <scm>
      <url>http://www.svn.com</url>
      <connection>scm:svn:http://localhost:8080/svn/jrepo/trunk/</connection>
      Framework</connection>
      <developerConnection>scm:svn:${username}/${password}@localhost:8080:</developerConnection>
      common_core_api:1101:code</developerConnection>
   </scm>
   <distributionManagement>
      <repository>
         <id>Core-API-Java-Release</id>
         <name>Release repository</name>
         <url>http://localhost:8081/nexus/content/repositories/</url>
         Core-Api-Release</url>
      </repository>
   </distributionManagement>
   <build>
      <plugins>
         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.0-beta-9</version>
            <configuration>
               <useReleaseProfile>false</useReleaseProfile>
               <goals>deploy</goals>
               <scmCommentPrefix>[bus-core-api-release-checkin]-<
               /scmCommentPrefix>
            </configuration>
         </plugin>
      </plugins>
   </build>
</project>

В файле pom.xml мы часто используем следующие важные элементы узлов, как показано в таблице ниже:

Элемент узлаОписание
SCMНастройка пути SVN, из которого Maven будет извлекать код.
repositoryМестоположение файла WAR, EAR или JAR, или хранилище компонентов, созданных после успешного компиляции исходного кода.
PluginНастройте плагин maven-release-plugin для автоматизации процесса деплоймента.

Плагин Maven Release

Maven использует плагин maven-release-plugin для выполнения следующих задач.

mvn release:clean

Очистите рабочее пространство, чтобы обеспечить успешный процесс последнего выпуска.

mvn release:rollback

Если процесс предыдущего выпуска не успешен, откатите изменения в рабочем пространстве и конфигурацию, чтобы обеспечить успешный процесс выпуска.

mvn release:prepare

Выполните различные действия:

  • Проверьте, есть ли незавершенные изменения в локальной версии.

  • Убедитесь, что в зависимости нет snapshot.

  • Измените информацию о версии приложения для публикации.

  • Обновите файл POM до SVN.

  • Запустите тестовые примеры.

  • Внесите изменения в файл POM и отправьте его в SVN.

  • Сделайте метку для кода в SVN.

  • Увеличьте номер версии и добавьте snapshot для будущих发布.

  • Внесите изменения в файл POM и отправьте его в SVN.

mvn release:perform

Перейдите к коду, который вы помечали ранее, и выполните Maven部署目标是 развернуть WAR файл или построить соответствующую структуру в хранилище.

Откройте командную строку, перейдите в каталог C:\ > MVN > bus-core-api и выполните следующие команды mvn.

C:\MVN\bus-core-api>mvn release:prepare

Maven начинает строительство всего проекта. После успешного строительства можно запустить следующие команды mvn.

C:\MVN\bus-core-api>mvn release:perform

После успешного 构建, вы можете проверить, работает ли загруженный в ваше хранилище JAR файл.