Разработка web приложения в облаке

Апр 25
2012

the-cloud-for-hosting

Дано:

  1. Необходимость создания web приложения
  2. Богатый выбор инструментария.
  3. Дикая лень, когда заходит речь о ковырянии локального dev окружения.

Хотим:

  1. Включиться в работу не тратя времени на настройку локального LAMP или MAMP или ROR… да похрен на самом деле, я даже библиотеки ставить не хочу.
  2. Открыть любимый редактор, браузер и вперед.
  3. Опробовать облачные технологии

Реальность:

  1. Хренушки, кое что поковырять все же придется, но усилий и впрямь будет меньше.

Что нам понадобится:

  1. Любимые редактор и браузер.
  2. GIT (любители Eclipse, Netbeans и прочих крутых комбайнов могут не париться, в Eclipse например и c git можно не отходя от кассы работать, и даже ключи ssh генерировать, что кстати весьма кстати).
  3. SSH ключ. Ваш. Сгенерировать я думаю в состоянии.
  4. Регистрация в облаке по выбору — dotcloud, openshift, phpcloud, phpfog и т.д. (бесплатно между прочим).

Принцип прост, как 3 копейки:

  1. Регистрируемся на одном из вышеуказанных сервисов.
  2. Создаем рабочий контейнер через веб-интерфейс.
  3. Там же быстренько настраиваем БД.
  4. Заливаем свой public key.
  5. Клоним из контейнера git репозиторий.
  6. Открываем редактор.
  7. Пишем код.
  8. Делаем push.
  9. Результат наблюдаем в браузере по ссылке сгенерированной для вашего контейнера.

Прелесть в том, что до того, как приступить к созданию своего web приложения, нужно потратить от силы минут 20, ничего в общем-то у себя на машине городить не нужно, плюс работает на любой платформе. Я сейчас эксперементирую со следующей связкой:

  • Bitbucket — репозиторий с которым работает команда
  • Phpfog — репозиторий в облаке, добавлен у меня как второй remote
  • На Windows: Eclipse+браузер
  • На Linux: Vim+Терминал+браузер

Пока работаю над фичей в своей ветке — делаю пуш в облако, как только закончил, вливаю в общую ветку на Bitbucket.

Установка Trac на CentOS

Июл 26
2011

Даже для небольших команд разработчиков нужны инструменты для совместной работы, учета выполненных задач, совместного использования и контроля кода и т.д. Сегодня поговорим о такой замечательной штуке как Trac. Возможности данной системы — тема для отдельной статьи, поэтому пока ограничимся how-to по установке.

1. Устанавливаем из репозитория

su -c 'yum install trac trac-git-plugin.noarch trac-iniadmin-plugin.noarch trac-mercurial-plugin.noarch trac-privateticketsplugin.noarch trac-ticketdelete-plugin.noarch trac-webadmin.noarch trac-xmlrpc-plugin.noarch mod_python'

2. Создаем инстанс

trac-admin /usr/local/share/trac/MyProject initenv

3. Создаем администратора

touch /usr/local/share/trac/auth-file
trac-admin /usr/local/share/trac/MyProject permission add <username> TRAC_ADMIN

4. Настраиваем Apache

  • Дописываем в httpd.conf «LoadModule python_module modules/mod_python.so»
  • Создаем CNAME запись в DNS, чтобы разместить trac на поддомене (напр. trac.mysite.com)
  • Настраиваем vhost:

    <VirtualHost *:80>
      ServerName trac.myproject.com
      <Location />
        SetHandler mod_python
        PythonHandler trac.web.modpython_frontend
        PythonOption TracEnv /usr/local/share/trac/mytrackproject
        PythonOption TracUriRoot /
      </Location>
      <Location "/login">
        AuthType Basic
        AuthName "trac"
        AuthUserFile /usr/local/share/trac/auth-file
        Require valid-user
      </Location>
      ErrorLog logs/trac.myproject.error.log
      CustomLog logs/trac.myproject.access.log common
    </VirtualHost>
    
  • Перезагружаем Apache
  • Профит!

Долой портфолио

Сен 06
2010

Долго-долго я собирался серьезно обновить страницу портфолио, и наконец, у меня дошли руки. Страницу я удалил. Почему? Ответ простой — теперь нет «Моего» потрфолио, есть «Наше». Да-да, именно так. После долгих раздумий и экспериментов я все таки решился собрать команду, и, черт возьми, получилось. У нас все еще нет официального названия, как и своего сайта (но он таки в разработке), но мы усердно работаем, и добиваемся результатов.

1 из 11
Real Time Web Analytics
fortnotes