Архив рубрики: Build tools

Инструменты для сборки и компиляции проектов на различных языках программирования

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

6 декабря 2018
 

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

Docker: AWS [China] — Jenkins в Docker

26 июня 2017
 

 Продолжение развёртывания CI инфрастуктуры в Китае. Начало тут>>>. В предыдущей части — запустили Docker registry, теперь — нужен Jenkins, который будет собирать образы сервисов и пушить в это хранилище. Для запуска Jenkins потребуется: создать EBS для Jenkins workspaces и подключить к EC2 создать EBS для Docker образов запустить и проверить Jenkins проверить Docker билды в… Читать далее »

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

20 февраля 2017
 

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

Azure: подключение дополнительного диска к VM и миграция Jenkins

9 февраля 2017
 

 Диски в Azure Как и любой компьютер — виртуальная машина в Azure использует диски для размещения операционной системы, приложений и данных. Всем машины в Azure имеют как минимум два диска — для операционной системы (operating system disk), который создаётся из образа ОС, и диск для временных данных (temporary disk). Кроме того — к машине можно… Читать далее »

Arch: makepkg — ручная установка из PKGBUILD на примере Dropbox

13 января 2017
 

 Про PKGBUILD — читать тут>>>, про makepkg — тут>>>. Пример ручной установки Dropbox. Клонируем репозиторий: $ git clone https://aur.archlinux.org/dropbox.git Проверяем: $ ls -l dropbox total 36 -rw-r—r— 1 setevoy setevoy 2440 Dec 26 11:13 PKGBUILD -rw-r—r— 1 setevoy setevoy 270 Dec 26 11:13 dropbox.desktop -rw-r—r— 1 setevoy setevoy 4996 Dec 26 11:13 dropbox.png -rw-r—r— 1… Читать далее »

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… Читать далее »

Packer: введение, примеры

20 октября 2016
 

 Введение Packer — утилита для сборки образов виртуальных машин для различных платформ из одного файла конфигурации. Packer не является заменой таких средств как Chef или Ansible, и может использовать их для конфигрирования системы перед сборкой образа. Образ, создаваемый Packer, включает в себя настроенную операционную систему, необходимый набор ПО, который позволяет быстро развернуть новую машину. Packer умеет… Читать далее »