Системы сборки *
Системы автоматизации сборки
Собираем Docker контейнер с http сервером при помощи Gradle
Возникла такая задача: Сделать простой web — сервер с минимальным числом зависимостей. При этом деплоиться он будет в виде docker контейнера. Для реализации самого сервера буду использовать GrizzlyWebServer. Для сборки Gradle c плагином для docker от Benjamin Muschko (bmuschko).
Такой выбор инструментов не случаен, я занимаюсь разработкой для android и мне ближе Java и Gradle чем что то другое. В этой статье хочу детально описать процесс от написания приложения до запуска в docker, возможные проблемы и их решение.
И так, начнем: сервер.
Вышел GitLab 8.12
Вне зависимости от масштаба вашего проекта, ваш инструментарий должен:
а. быть удобным в работе
б. давать полезную обратную связь.
В этом месяце GitLab стал лучше по каждому из этих пунктов. GitLab 8.12 дает вам обратную связь об эффективности вашей работы, помогает искать нужный код по всей кодовой базе, позволяет обезопасить ваш рабочий процесс всего одним кликом и делает многое другое.
«Выходить на сцену — мой способ не отставать от технологий» : интервью с Барухом Садогурским из JFrog
В новом выпуске «Без слайдов» гостем стал Барух Садогурский aka jbaruch — Developer Advocate компании JFrog, постоянный резидент подкаста «Разбор Полётов» и частый спикер Java-конференций. За время разговора он среди прочего успел порассуждать:
- о продвижении продукта без навязчивого расхваливания
- о том, что «стюардессу Java EE пора закапывать»
- о сложностях монетизации open source
- о точном определении слова «стартап»
- о своём дрифте от технологий и борьбе с ним
- о том, чем Artifactory от JFrog лучше конкурентов — и даже о том, чем хуже
Как всегда, под катом — полная расшифровка интервью.
Истории
Как с помощью maven подключить библиотеку к проекту
Спросите кого-нибудь, для чего вообще нужен Maven — 90 процентов поголовья программистов ответит, что именно для этого и будут во многом правы.
Если в случае с, например, C++ подключение библиотеки к своему проекту — это серьёзный шаг, который гарантированно усложнит сборку до такой степени, что придётся включить инструкции по подключению данной конкретной библиотеки в readme, то в случае с Java это делается легко и непринуждённо — не в последнюю очедь благодаря Maven.
Хочу отметить, что статья предназначена для тех, кто начал изучать java относительно недавно и хотя уже знает из предыдущей статьи, что такое maven — о том, что такое библиотеки, знает не очень хорошо, а как их подключать не знает вообще.
Упаковка jvm приложения в docker образ
Мы же решим практическую задачу по упаковке jvm приложения и получим контейнер с миниатюрным Linux, JDK и нашим приложением, который опубликуем на hub.docker.com и сможем запускать где угодно.
GitLab CI: Учимся деплоить
В данной статье речь пойдет об истории успеха воображаемого новостного портала, счастливым владельцем которого являетесь вы. К счастью, вы уже храните код проекта на GitLab.com и знаете, что для тестирования можно использовать GitLab CI.
Теперь вам интересно, можно ли пойти дальше и использовать CI еще и для развертывания проекта, и если да, то какие возможности при этом открываются.
Чтобы не привязываться к какой-либо конкретной технологии, предположим, что ваше приложение является простым набором HTML-файлов, никакого выполнения кода на сервере, никакой компиляции JS assets. Деплоить будем на Amazon S3.
У автора нет цели дать рецепты для конкретной технологии в этой статье. Наоборот, примеры кода максимально примитивны, чтобы слишком на них не зацикливаться. Смысл в том чтобы вы посмотрели на фичи и принципы работы GitLab CI в действии, а потом применили их для вашей технологии.
Превращаем Java/JVM приложение в демона
Введение в GitLab CI
Публикую перевод моей статьи из блога ГитЛаба про то как начать использовать CI. Остальные переводы гитлабовских постов можно найти в блоге компании Softmart.
Представим на секунду, что вы не знаете ничего о концепции непрерывной интеграции (Continuous Integration — CI) и для чего она нужна. Или вы всё это забыли. В любом случае, начнем с основ.
Представьте, что вы работаете над проектом, в котором вся кодовая база состоит из двух текстовых файлов. Более того, очень важно, чтобы при конкатенации этих файлов в результате всегда получалась фраза "Hello world." Если это условие не выполняется, вся команда лишается месячной зарплаты. Да, все настолько серьезно.
Как собрать простейшую Java программу с помощью Maven
Статья написана для тех, кто умеет писать простейшие программы на java, но не умеет их собирать. Этим людям уже известно, что такое классы, что такое пакеты и зачем нужен public static main(String[] argv), но код без среды разработки они не запускали, да и не понимают кому и зачем это вообще может понадобиться.
Сразу скажу, что Java программиста, который не может собрать свою программу из консольки, на работу не возьмут, и это в общем более чем достаточная причина, чтобы научиться искусству обращения с системами сборки. Остальное детали, которым и посвящена статья.
Я принципиально не буду обсуждать в статье ничего, кроме сборки минимального HelloWorld. Также я постараюсь опустить все технические детали, которые можно опустить и подробно раскрыть всё, без понимания чего обойтись нельзя.
Для того, чтобы воспользоваться информацией из статьи нужно знать, что такое xml, переменные окружения, зачем нужна переменная окружения PATH и как пользоваться консолью.
Готовим Open Build Service 2.6
1. Привет.
На хабре подозрительно мало информации про Open Build Service (далее OBS) и прочие платформы.
А про свежесть имеющегося и говорить не хочется.
Недавно был релиз версии 2.7, пришли долгожданные изменения.
Но, для истории, хочу немного рассказать об одном варианте использования 2.6 (релиз — февраль 2015 года).
Пример для материала навеян недавней потребностью.
Итак, собирем php-ffmpeg на базе ffmpeg 3.0 для Centos (7, и даже 6*!).
Deployer — удобный и гибкий деплой приложений
Несомненно, тема, думаю, многими заезжена до дыр — всё-таки, деплой надо делать для каждого проекта — но я всё же подниму её и расскажу об одном замечательном инструменте, о котором, по какой-то странной причине, до сих пор ничего не написали на Хабре, да и вообще в русскоязычном сегменте как-то о нём мало что написано. Исправим это недоразумение.
Deployer хорош во многих отношениях. Код скрипта для деплоя получается коротким. Написан на старом добром Пыхчанском — то бишь, скорее всего, ставить отдельно какие-то другие инструменты на сервер вам не придётся. Если же и придётся — то PHP обычно устанавливается одной командой на любом сервере. Почему-бы и не заюзать его в своих проектах?
Как проинтегрировать TeamCity и Bitbucket Server
Bitbucket Server (ранее известный как Stash) — решение для централизованного управления разработкой, позволяющее управлять вашими репозиториями, в том числе не открывая доступа к ним извне организации. Bitbucket позволяет упростить хранение репозиториев с исходными кодами на вашем сервере и обеспечивает простоту доступа к репозиториям для всех членов вашей команды.
В мире IT известно, что Bitbucket может быть проинтегрирован с другими продуктами и платформами в единую экосистему, которая делает процесс разработки всеобъемлющим и удобным. Чаще всего Bitbucket интегрируется с JIRA. Однако, поиск и локализация проблем — не единственная задача, с которой типовой процесс разработки сталкивается каждый день, и даже несколько раз в день. Более важной задачей является сохранение целостности проекта в процессе внесения дополнений и исправлений в код. Для этих задач вы можете использовать CI-сервер, который в том числе позволяет создавать сборки проектов и выполнять серии тестов для автоматической проверки функциональности.
Bitbucket «из коробки» предлагает интеграцию с родственным решением от Atlassian — Bamboo. Но, помимо Bamboo, существуют другие CI-решения, которые также достаточно популярны — TeamCity и Jenkins. В нашем посте мы обрисуем специфику интеграции Bitbucket и TeamCity.
Ближайшие события
Вклад авторов
aigrychev 258.3aionin 241.4diafour 212.0tkir 196.0Zhbert 148.0tangro 138.8nem 117.6AloneCoder 107.2SvyatoslavMC 91.0m1rko 85.6