Архив за год: 2016

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

AWS: S3 Website + CloudFront CDN == AccessDined

19 октября 2016
 

 Ошибка Создаём S3 корзину, настраиваем>>> её как Static Website. Далее — подключаем>>> к ней ClodFront distribution. Для S3 — настраиваем редирект всех ошибок на index.html, пробуем открыть несуществующую страницу — и «ловим» Acess Denied вместо перенаправления: $ curl -L http://profile-testing.domain.com/signinscsdc <?xml version=»1.0″ encoding=»UTF-8″?> <Error><Code>AccessDenied</Code><Message>Access Denied</Message><RequestId>0C488EAFDD6F8311</RequestId><HostId>za8ikpctv9Pr/Hn/AEyb09ikAAlUmd/Fq1ICHjA6AVPq0P2XDn87SNDMrEUkP1jMvTPQ8p2lktw=</HostId></Error>

AWS: Grunt — деплой JS приложения в S3

18 октября 2016
 

 Задача: собрать JavaScript (AngularJS + Node.js) приложение, и задеплоить его в корзину S3 для хостинга статического сайта. Продробнее про S3 — AWS: S3, Simple Storage Service – описание, примеры. Про хостинг сайтов в S3 — AWS: S3 – хостинг статического сайта. Сначала — запустим простой «Hello, %username%» в S3. Затем — соберём имеющееся приложение, и задеплоим его… Читать далее »

AWS: The bucket you are attempting to access must be addressed using the specified endpoint.

17 октября 2016
 

 Во время работы с корзинами S3 — AWS CLI сообщает об ошибке: $ aws s3api get-bucket-policy —bucket profile-staging.domain.com A client error (PermanentRedirect) occurred when calling the GetBucketPolicy operation: The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint: profile-staging.domain.com.s3.amazonaws.com You can fix this… Читать далее »

Azure: GoCD и MSDeploy — деплой UmbracoCMS в Azure WebServices

14 октября 2016
 

 Описание инфрастуктуры и процесса деплоя приложения одного немецкого производителя приятноалкогольной продукции. Работает на UmbracoCMS, .NET, язык — C#, использует две Azure (MS) SQL базы — одну для хранения настроек, вторую — для пользовательских данных. Для приложения имеются две различные ресурс-группы — Development и Production, при этом у Production имеется Staging swap-slot (у Dev — тоже, но он пока не… Читать далее »

Git: merge разных бранчей из разных репозиториев

13 октября 2016
 

 Задача: смерджить два бранча из разных репозиториев. Кратко — процедура выглядит так: переходим в каталог нового репозитория; git checkout newbranch — переключаемся на нужный бранч; git remote add -f old_repo [email protected]:name/oldrepo.git — добавляем старый репозиторий как remote для нового; git remote update — обновляем все remote; git merge remotes/oldrepo/oldbranch — выполняем слияние текущего репозитория и текущего бранча со старым репозиторием, добавленным как… Читать далее »

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 Установка… Читать далее »