Рубрика «redmine» - 3

Предыстория

Я программист с очень небольшим стажем (недавно накопилось около года в трудовой).
Около полугода назад я начал работать с Ruby (вне Rails) и сразу же познакомился с Active Resource и Redmine.

Это был очень интересный опыт, сейчас мне кажется, что Ruby — практически идеальный язык (именно язык, я не задаюсь вопросом потребления памяти и скорости работы).

Однако в нем весьма много магии, которую бывает сложно понять, когда читаешь исходный код сколько-нибудь крупных проектов (ActiveResource я отношу к ним, хотя по сравнению с rails, частью которого он является, этот гем кажется каплей в море).

Проблема

Проект заключался в создании консольной утилиты (Thor-based), работающей с Redmine REST API и предоставляющей всякие ништяки (кстати, вдохновленный проектом, я в данный момент работаю над подобной утилитой, частично дублирующей функционал: https://github.com/Nondv/redmine_cli).

Если посмотреть на документацию по Versions или Issue Relations (http://www.redmine.org/projects/redmine/wiki/Rest_IssueRelations), то можно обратить внимание, что для получения списка отношений используется адрес вида issues/<id>/relations.xml, а для конкретного объекта — relations/<id>.xml.
Читать полностью »

Вступление

Так сложилось, что для ведения проекта не хватало обычного GitHub или GitBucket. Оснавная причина в хранении и контроле версий больших бинанрых файлов psd, 3dsmax и других. На самом деле вариантов решения масса, можно например было использовать Облачный диск или git Large Files System, представленный GitHub. Но взвесив все плюсы и минусы разных подходов к организации, мы пришли к связке GitLab + redmine.

Я не думаю, что есть смысл описывать продукты, я лишь приведу основные достоинства, которые подтолкнули нас на этот выбор.
Основные плюсы GitLab:

  • Свой репозиторий.
  • Тонкая настройка прав.
  • Поддержка git lfs почти из коробки.

Также оба проекта Open Source.
Читать полностью »

Данная статья появилась с целью обобщить довольно длительные попытки собрать удобное окружение для работы над проектами. Несомненно, существует множество сервисов готовых предоставить схожую функциональность, но их использование не всегда удобно и по различным причинам, может быть неприемлемо. Если возникла такая ситуация, надеюсь, представленная в статье конфигурация окажется полезной.

Окружение разработки: Redmine + Git + ownCloud - 1

Сценарий использования данной связки, можно кратко описать следующим образом:

  • Файлы проекта хранятся в Git репозитории;
  • Репозиторий содержит настройки, исходники и другие файлы проекта, наличие которых удобно и допустимо в коллективном репозитории;
  • В корне расположена директория cloud, исключенная в .gitignore, в которую через WebDAV монтируется ownCloud папка, для остальных файлов;
  • Содержимое Git репозитория отслеживается в системе управления проектами Redmine.

План развертывания системы включает настройку следующих сервисов:

  1. OpenLDAP — единая учётная запись для всех сервисов;
  2. Redmine — запуск в Docker контейнере, создание и привязка Git репозитория, LDAP аутентификация;
  3. NGINX — доступ к Git репозиторию через HTTPS и LDAP аутентификация;
  4. ownCloud — LDAP аутентификация и монтирование папки через davfs2.

Читать полностью »

Vesta CP: установка веб-приложений на Ruby и Python - 1

Я люблю, когда все лежит на своих местах, все в чистоте и порядке.
Поэтому раз в квартал разгребаю творческий беспорядок. ®

Для меня важно иметь стабильную ОС с уверенностью в том, что после очередного ежедневного обновления ничего не сломается. Многие разработчики выбирают ОС исходя из наличия актуальных версий софта. Я умею готовить Centos и в "yum -y install yum-cron" уверен на 99.98%.

Расскажу, как при этом можно использовать последние версии ruby и python для web-разработки. Так же по результатам на сервере будут установлены 4 веб-приложения от одного регулярного пользователя: djangocms (python 3.4.3 ), quokka (python 2.7.9 ), redmine (ruby 2.2.1 ), refinerycms (ruby 2.0.0). На тонкие параметры запуска приложения внимание обращено не будет (выбор БД, количество веркеров, соединений, логи и т.д.). Хотел описать LocomotiveCMS, но оно оказалось паровозом с кучей ручных правок для сетапа.

Для комфорта и удобства будем использовать панель управления VestaCP. Потому что она просто великолепна и идеологически родная.
Читать полностью »

Зачем нам не нужен virtualenv и rvm - 1

Я люблю, когда все лежит на своих местах, все в чистоте и порядке.
Поэтому раз в квартал разгребаю творческий беспорядок. ®

Для меня важно иметь стабильную ОС с уверенностью в том, что после очередного ежедневного обновления ничего не сломается. Многие разработчики выбирают ОС исходя из наличия актуальных версий софта. Я умею готовить Centos и в "yum -y install yum-cron" уверен на 99.98%.

Расскажу, как при этом можно использовать последние версии ruby и python для web-разработки. Так же по результатам на сервере будут установлены 4 веб-приложения от одного регулярного пользователя: djangocms (python 3.4.3 ), quokka (python 2.7.9 ), redmine (ruby 2.2.1 ), refinerycms (ruby 2.0.0). На тонкие параметры запуска приложения внимание обращено не будет (выбор БД, количество веркеров, соединений, логи и т.д.). Хотел описать LocomotiveCMS, но оно оказалось паровозом с кучей ручных правок для сетапа.

Для комфорта и удобства будем использовать панель управления VestaCP. Потому что она просто великолепна и идеологически родная.
Читать полностью »

В этой статье рассматривается вариант установки Redmine с базой данных SQlite3 на Windows и запуск его как сервиса. Все необходимые компоненты для установки приведены в статье. Для тестирования была установлена виртуальная машина с «голым» Windows 7 без пакетов обновления, без дополнительного ПО и произведена пошаговая установка по инструкции в статье.

Ответ на вопрос: «Сколько требует ресурса так установленная Redmine?»

ОЗУ: Процесс Redmine использует 2 МБ оперативной памяти, а интерпретатор Ruby «ест» 170 МБ оперативной памяти.
ЖД: Установленный «пустой» Redmine с остальным ПО занимает ~500 МБ жесткого диска.

Читать полностью »

Плагин «Unread issues» — как мы уведомляем сотрудников в Redmine. Общая концепция - 1

Сегодняшняя статья будет про уведомления об изменениях в задачах Redmine. О том, какие средства есть в коробочном Redmine и о том, что мы доработали сами.

Любой task-трекер имеет средства уведомления об изменениях в задачах, и Redmine — не исключение.

Читать полностью »

Usability — один плагин Redmine, предоставляющий массу полезных мелочей - 1
Используя Redmine в корпоративной среде, всегда сталкиваешься с тем, что в интерфейсе чего-то не хватает. То где-то ссылочку нужно подменить, то список задач не влазит на экран планшета, то картинки не открываются в новом окне.

Исправляя все эти мелкие неприятности, мы родили плагин Usability. Дальше я расскажу вам об этом плагине, которым готов поделиться с сообществом.

Плагин позволяет включать или отключать полезные опции. Расскажу о них и о предпосылках, в результате которых возникли опции, поподробнее.
Читать полностью »

Сегодняшний пост будет про удобство использования Redmine в корпоративной среде, а если быть точнее, про прозрачную авторизацию пользователей Redmine в домене Microsoft Active Directory.

Мы используем Redmine как единую информационную среду, в которой работают все сотрудники компании. Вводить один и тот же пароль дважды — это всегда неудобно. Поэтому, мы настроили прозрачную аутентификацию через домен.

Прозрачная аутентификация в Redmine - 1

Читать полностью »

Оперативное планирование в Redmine - 1

В прошлой статье я рассказывал, как мы в Redmine настроили жизненный цикл задач для программистов, сейчас хочу рассказать о том, как мы планируем задачки в Redmine в разрезе месяца (про стратегическое планирование, наверное, напишу в отдельной статье).

Как мы планируем

Вкратце расскажу о процессе оперативного планирования, которое работает в нашем IT-отделе.

Любой сотрудник компании может написать заявку в ИТ-отдел на разработку какой-то функции в ПО или на другую работу (некоторые заявки требуют согласования руководителя, другие — нет).
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js