Архив рубрики: Apache Maven

Maven is a build automation tool used primarily for Java projects. Maven addresses two aspects of building software: first, it describes how software is built, and second, it describes its dependencies.

Appium: Android Virtual Device, Original error: Condition unmet after 60159 ms и костыль

6 декабря 2018

Проблема: UI-тесты, запускаемые с помощью Appium, падают. Задача: найти причину, и пофиксить. Что бы воспроизвести проблему –  установили Android Studio на рабочую машинку и создали устройство. Теперь – можно настроить “тестовый тест”, а потом попробовать запустить наши реальные тесты. Забегая наперёд – проблема была найдена, но решения не нашёл, потому пришлось костылить в Jenkins-джобе. Сама проблема на… Читать далее »

AWS: билд Java + Maven + Docker + Packer + Terraform

20 февраля 2017

Достаточно…. Скажем так – интересная схема билда и деплоя одного приложения. Приложение включает в себя 6 контейнеров (5 – сервисы самого приложения, и один контейнер – Zuul discovery service). Сама идея и архитектура – красивая и достаточно сложная. Но использовать такое для билда и деплоя 5 контейнеров… Overhead, overengineering. Ещё один антипаттерн того, как надо… Читать далее »

AWS: AWS CLI и bash – blue/green деплой AutoScale группы за ELB

6 января 2017

Имеется достаточно интересная ифраструктура одного проекта (UPD: описана в посте AWS: билд Java + Maven + Docker + Packer + Terraform), в котором деплой API-приложения выполняется скриптом, описанным ниже. Его задача – запустить EC2 инстансы, объединённые в blue AutoScale группу, подключить её к Elastic Load Balancer-у (ELB), отключить от ELB green-группу, перезапустить в ней инстансы,… Читать далее »

Docker: docker-maven-plugin – билд Doсker образов в Maven

25 октября 2016

docker-maven-plugin позволяет выполнить сборку Docker образа, включив в него результат билда Maven. Например – вы собираете веб-приложение в виде war-файла, который потом добавляется в Docker образ с Tomcat, и вы получаете готовое к использованию приложение без необходимости сборки Docker отдельно. Ручная сборка Docker образа с Java приложением Сборка с docker-maven-plugin Push в Docker Hub с docker-maven-plugin

Maven: docker-maven-plugin – Exception caught: Request error: POST HTTP 500 Internal Server Error

21 октября 2016

Во время сборки проекта – билд образа с помощью плагина docker-maven-plugin падает с ошибкой:   … [INFO] BUILD FAILURE [INFO] ———————————————————————— [INFO] Total time: 19.379 s [INFO] Finished at: 2016-10-21T09:31:31+00:00 [INFO] Final Memory: 76M/562M [INFO] ———————————————————————— [ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.4.10:build (default) on project oauth2-authserver: Exception caught: Request error: POST unix://localhost:80/build?t=project.jfrog.io/project-oauth2-authserver:stg-hotfix/LTHS-116-79: 500: HTTP 500… Читать далее »

Jenkins: запуск на AWS EC2 + Pipeline Plugin + Docker Pipeline Plugin

12 октября 2016

Задача – поднять Jenkins 2 на AWS EC2, и создать два билда: с помощью плагина workflow-aggregator (Jenkins Pipeline Plugin) – вывести “Hello, World” через Pipeline Script; с помощью плагина docker-workflow (CloudBees Docker Pipeline Plugin) запустить Docker контейнер, в котором Maven-ом будет выполенна сборка Java-проекта. Документация по Jenkins Pipeline Plugin – тут>>>. Документация по CloudBees Docker Pipeline Plugin – тут>>>. Создание EC2 Установка NGINX, Docker Установка… Читать далее »

Jenkins: установка и настройка Maven билда

25 января 2016

Пример ручной установки Jenkins на Vagrant бокс с Ubuntu 14. Добавляем Vagrant машину: $ vagrant init ubuntu/trusty64 Редактируем Vagrantfile: Vagrant.configure(2) do |config| … config.vm.network “forwarded_port”, guest: 8081, host: 8081 … config.vm.network “public_network” … config.vm.provider “virtualbox” do |vb| … vb.memory = “2048” … end … end Запускаем и подключаемся: $ vagrant up $ vagrant ssh

Maven: не обновляется тег latest в файле maven-metadata.xml

28 ноября 2015

Мы пользуемся менеджером репозиториев Artifactory. Аналогичная проблема наблюдается и при использовании других репозиториев – таких как Nexus. Проблема В одном из проектов обратили внимание, что в файле maven-metadata.xml тег <latest> не соответствует последней версии в теге <versions>: <?xml version=”1.0″ encoding=”UTF-8″?> <metadata> <groupId>group-id</groupId> <artifactId>artifact-id</artifactId> <version>1.1-SNAPSHOT</version> <versioning> <latest>1.195-SNAPSHOT</latest> <versions> <version>1.1-SNAPSHOT</version> <version>1.2-SNAPSHOT</version> … <version>1.202-SNAPSHOT</version> …

Apache Maven: сборка Java Hello World

6 ноября 2015

Пример создания простого Java веб-проекта, сборки и упаковки его с помощью Apache Maven. Установка Maven очень простая и описана, например, тут>>>, хотя пост достаточно старый. Создадим директорию проекта: $ mkdir -p /tmp/maven_example $ cd /tmp/maven_example/