JAVA → Ant+Tomcat: небольшая автоматизация рутины
День добрый всем. Решил написать заметку о небольших средствах автоматизации, которые возникли в процессе моей работы со связкой Ant+Tomcat. Работаю java-разработчиком, с недавних пор пришлось окунуться в web-разработку на Java (надо сказать не без удовольствия). Никогда с серьезными проектами для web на java не сталкивался, игрался пару раз с примерами в рамках книжек по java из серии «обо всем по немного», но ничего серьезного. А здесь проект из полноценного портала с backend`ом для отвественных за контент, большими объемами данных в БД. Ну что же столкнулся да и столкнулся. Работа пошла, новая область знаний — интересно, мелочи не достают. Но со временем процесс сборки и развертывания приложения стал очень сильно доставать, так как в самые «жаркие» дни приходилось выполнять эту операцию раз по 40, чтобы посмотреть результат работы и прощелкать его. Вот тут и возник вопрос, нельзя ли это как то автоматизировать.
Блог компании Badoo → Знакомство с системой деплоя и сопровождения серверов xCAT
В продолжение темы нашей предыдущей статьи, сегодня поговорим об инструменте, который мы используем изо дня в день.Если ваша деятельность так или иначе связана с установкой и настройкой крупных партий оборудования, то материал, на наш взгляд, будет вам полезен и интересен.
Любому инженеру, управляющему парком серверов Badoo – самой популярной сети знакомств в интернете, не хочется даже вспоминать о том, что когда-то приходилось править вручную конфигурации DHCP-сервера, собирать образы для сетевой PXE-загрузки… Мы хотим рассказать вам, где и как в нашей компании успешно используется программное решение xCAT.
Программирование → Отправка уведомлений на почту при деплое проекта
В нашем проекте при каждом деплое разработчики, тестеры и ещё пара людей получают замечательные письма:
Такое решение помогло нам избавиться от вопросов тестеров «Ну что, выложили уже исправление бага XXX?», «Что нового на тестовом сервере?». Так же — все члены команды, отдел внедрения и руководство в курсе, что происходит с кодом на серверах.
Для работы используется git, capistrano (+ multistage), php, bash (+ некоторые консольные утилитки). Если интересно — заходим под кат.
Subject: Наш проект версии v1.1.1 обновлён на сервере 'testing'
user1 выложил следующие обновления на сервер 'testing':
Коммиты по задачам:
jira.local/browse/PROJECT-1234
Полный список коммитов с предыдущего обновления:
4392a53 Thu Aug 18 17:50:32 2011 +0700 user1 / [PROJECT-1234] сделал полезное
f2fcfe2 Thu Aug 18 17:37:53 2011 +0700 user1 / сделал страшное
cb1fcbe Wed Aug 17 15:18:10 2011 +0700 user2 / зарефакторил
Изменения по файлам:
file1 | 4 ++--
file2 | 8 ++++----
file3 | 8 ++++----
3 files changed, 10 insertions(+), 10 deletions(-)
Такое решение помогло нам избавиться от вопросов тестеров «Ну что, выложили уже исправление бага XXX?», «Что нового на тестовом сервере?». Так же — все члены команды, отдел внедрения и руководство в курсе, что происходит с кодом на серверах.
Для работы используется git, capistrano (+ multistage), php, bash (+ некоторые консольные утилитки). Если интересно — заходим под кат.
Node.JS → Развертывание Nodejs приложения на DotCloud
Интро
Dotcloud — это это облачная платформа для развертывания приложений. Стек на DotCloud включает в себя более 10 различных сервисов среди которых есть и Node.JS.Мои первые впечатления от DotCloud были весьма положительные. Можно практически забыть о том как развертывать приложение и полностью сосредоточится на коде. Работа по развертыванию сводится к установке DotCloud CLI и настройке файла окружения dotcloud.yml. Установка клиента под Linux/MacOS тривиальна:
sudo easy_install pip && sudo pip install dotcloud
Qt Software → Qt Creator 2.3 и Remote Linux Deploy
В очередной раз на хабре осталась незамеченной новость, которая пробежала в блоге Qt Labs и известила о выходе Qt Creator 2.3. Если вскользь просмотреть список изменений, то как обычно можно увидеть кучу прикольных плюшек, одна из которых заинтересовала меня неимоверно. А именно — развёртывание и отладка приложения на удалённой Linux-машине, при помощи ssh, прямиком из среды разработки.
Groovy & Grails → Пишем deploy-скрипт для Grails
Зачем нужен deploy-скрипт
Grails-приложения очень легко собираются в WAR. Делается это так:
grails war
Помимо того, что WAR собирается, очень хочется этот WAR еще и установить на сервер. В нашем случае это Tomcat. Установка вручную требует некоторой возни:
- Остановить сервер. Убить процесс, если он не остановился сам.
- Удалить старые файлы приложения (на всякий случай)
- Скопировать новый WAR на сервер. Иногда его нужно переименовывать (скажем, в ROOT.war)
Мы также можем использовать shell-скрипт. Но зачем писать на неудобном языке shell, когда есть замечательный кроссплатформенный язык Groovy?
Блог компании Jelastic → Java Cloud Hosting — autoscaling, easy deploy, environment management

Друзья, мы продолжаем закрытый бета тест облачной платформы для Java приложений. Важнейшим бизнес моментом в нашем будущем развитии являются предварительные договоренности с одним из лидеров хостинговых услуг на рынке Европы. Мы нашли отличного партнера — это один из самых успешных хостинг провайдеров в Европе. К тому же, наша команда готовит к запуску новый информационный сайт и новый уникальный облачный функционал. Для удобства создания окружений нами разработан конструктор серверных топологий — визуальный билдер. Подобного решения вы не найдете даже у Amazon Beanstalk.
Однако сегодня речь не об этом. Указанный функционал и имя нашего партнера будет анонсировано в следующий раз. Сегодня, тем кто принимает участие в закрытом бета-тестировании — мы предлагаем попробовать наш обновленный функционал. Мы учли ваши пожелания и выпустили промежуточный апдейт.
Веб-разработка → Capistrano и php из песочницы
Всем привет. Сегодня я хотел бы ещё раз поговорить о замечательном deploy-ере Capistrano.Напомню, что Capistrano — это Open Source-ный инструмент для выполнения скриптов на нескольких серверах, который в основном используется для web приложений. Он позволяет автоматизировать процесс развертывания новой версии на одном или нескольких web серверах и включает поддержку таких задач, как например изменение базы данных.
Capistrano написан на Ruby и является «модулем» (или компонентном, не знаю как лучше) фреймворка Ruby on Rails.
Данный топик по большей части является переводом туториала со страницы проекта на github-е с некоторыми дополнениями, изменениями и сокращениями специфичными для php (или для «не RoR»). Здесь не будут рассматриваться вопросы работы с несколькими серверами и базой данных, это всего лишь небольшое пособие для начинающих.
Итак, допустим на нашем локальном компьютере в паке /path/deploy/from находится приложение написанное на языке php. У этого приложения есть git репозиторий находящийся по адресу example.net/project.git с актуальным кодом. Также у нас есть хостинг по адресу example.com с ssh доступом и папкой /path/deploy/to куда мы собираемся залить наши файлы. Мы не хотим постоянно возиться с ftp клиентом и решили потратить несколько часов для того, чтобы разобраться в деплойере capistrano. Давайте приступим.
Ruby → Видео с конференции RailsClub'Moscow (30 октября 2010г.)
Смотреть всё подряд
Представлены доклады:
1. Ruby NoName Podcast Crew «Chef Light»
С помощью Chef можно организовать управление серверами не только для больших организаций, а для всех.
Есть сервер, есть клиенты которые гоняются на других серверах. Сервер говорит что надо сделать, клиенты делают. Для всего этого существуют dsl конфигурации с поддержкой pakages.
*Удалённое проведение конференции накладывает свои особенности. Извиняемся за качество видео.
2. Макс Лапшин «Rails do scale»
Пример приложения быстрого приложения на Rail для Vkontakte с посещаемостью ~ 1000 запросов в секунду.
Дёшево и работоспособно.
3. Алекс Дмитриев «Умное кэширование в rails»
Докладчик рассказывает о том, как пользоваться кэшированием в Rails, когда нужно использовать кэширование, что кэшировать, где хранить кэш и т.д.
4. Иван Евтухович «Vim or die»
Докладчик рассказывает о возможностях Vim — одного из мощнейших текстовых редакторов с полной свободой настройки и автоматизации.
5. Тимофей Цветков «Liquor, Liquid и другие безопасные языки разметки в RoR»
Безопасные шаблонизаторы для RoR. С помощью чего и как.
6. Андрей Руденко «Deploy fu»
Докладчик обсуждает достоинства и недостатки наиболее популярных в Ruby-сообществе инструментов развертывания приложений: Chef, Capistrano, Puppet, Сfengine, Bash-скриптики и др. Основная часть доклада посвящена презентации своего решения — Lorenz (см. github->lorenz).
Приятного просмотра.
Представлены доклады:
1. Ruby NoName Podcast Crew «Chef Light»
С помощью Chef можно организовать управление серверами не только для больших организаций, а для всех.
Есть сервер, есть клиенты которые гоняются на других серверах. Сервер говорит что надо сделать, клиенты делают. Для всего этого существуют dsl конфигурации с поддержкой pakages.
*Удалённое проведение конференции накладывает свои особенности. Извиняемся за качество видео.
2. Макс Лапшин «Rails do scale»
Пример приложения быстрого приложения на Rail для Vkontakte с посещаемостью ~ 1000 запросов в секунду.
Дёшево и работоспособно.
3. Алекс Дмитриев «Умное кэширование в rails»
Докладчик рассказывает о том, как пользоваться кэшированием в Rails, когда нужно использовать кэширование, что кэшировать, где хранить кэш и т.д.
4. Иван Евтухович «Vim or die»
Докладчик рассказывает о возможностях Vim — одного из мощнейших текстовых редакторов с полной свободой настройки и автоматизации.
5. Тимофей Цветков «Liquor, Liquid и другие безопасные языки разметки в RoR»
Безопасные шаблонизаторы для RoR. С помощью чего и как.
6. Андрей Руденко «Deploy fu»
Докладчик обсуждает достоинства и недостатки наиболее популярных в Ruby-сообществе инструментов развертывания приложений: Chef, Capistrano, Puppet, Сfengine, Bash-скриптики и др. Основная часть доклада посвящена презентации своего решения — Lorenz (см. github->lorenz).
Приятного просмотра.
Python → Интеграция shared hosting и SVN
Этот скрипт более исследовательский, чем предназначен для серьезных групп разработчиков. Создавался мною чтобы изучить python получше. Но тем не менее, я успешно пользуюсь им более полугода.
Данная статья для тех разработчиков, которые ведут некоторый проект в SVN, имея удаленный сервер, доступ к которому есть по ftp и ssh, но устанавливать на который ничего нельзя.

Данная статья для тех разработчиков, которые ведут некоторый проект в SVN, имея удаленный сервер, доступ к которому есть по ftp и ssh, но устанавливать на который ничего нельзя.
