Redmine – správa projektu
Redmine je pravděpodobně jeden z nejlepších volně dostupných nástrojů pro správu projektů. Svými vlastnostmi se hodí spíš do menších a středních firem. Umožňuje snadno spravovat úkoly na projektech, evidovat a také vykazovat spotřebovaný čas jednotlivých pracovníků. Aplikace je přístupná přes webové rozhraní.
Ukázka webového rozhraní – log aktivit na projektu:
Výpis úkolů evidovaných k projektu:
Instalace a nastavení Redmine
Redmine jsem instaloval na server s Linuxem – distribuce CentOS 5 a později i verze 6. Také jsem prováděl instalaci na MacOS X 10.7 na kterém jsem prováděl vývoj pro Redmine.
Přímo na webu www.redmine.org je k dispozici podrobný návod jak nastavit Phusion Passenger a Apache 2 pro běh Redmine. Rozcestník návodů je na adrese http://www.redmine.org/projects/redmine/wiki/HowTos
Po dokončení instalace probíhá nastavení Redmine přes webové administrátorské rozhraní. Ukázka nastavení oprávnění pro roli Vývojář, kterou používáme pro snadnější přidělení práv uživatelům na projektech:
Zajímavou vlastnotí Redmine je i možnost propojení s verzovacím systémem. Přímo v admin rozhraní uvidíte co je na vašem serveru podporované (tj. který nástroj je nainstalován v operačním systému):
Připojení GIT repozitáře do Redmine
SVN repozitory můžete k projektu naklikat přes webové rozhraní, ale u GITu to chce trošku zapracovat v konzoli. Proto sem hodím stručný postup jak na to (a jak to používáme i my).
GIT máme na stejném serveru jako je Redmine, ale každý běží pod jiným uživatelem. Redmine tak nemůže sám sáhnout do repozitory gitu, protože mu v tom brání nastavení práv. Klonuji tedy git repo jen pro účely Redmine tak aby se k souborům Redmine dostal po každém pushnutí na server.
Aby vše fungovalo je vhodné nastavit správně SUDO – uživatel gitolite může spouštět skript /usr/local/sbin/redmine-git-fetch jako uživatel redmine bez nutnosti zadávat heslo.
Konfigurace v /etc/sudoers:
Cmnd_Alias REDMINECMD = /usr/local/sbin/redmine-git-fetch User_Alias GITUSER = gitolite GITUSER ALL = (redmine:weby) NOPASSWD: REDMINECMD
Vytvořil jsem adresář kam budu klonovat repozitory pro Redmine /data/redminerepos
s vlastníkem redmine:weby
.
Naklonoval jsem repository, které chci zpřístupnit v Redmine:
# cd /data/redminerepos # git clone --bare gitolite@localhost:czechidm.git # cd czechidm.git # git remote rm origin # git remote add origin gitolite@localhost:czechidm.git # chown -R redmine:weby czechidm.git
V repository GITu ze kterého jsem klonoval data jsem přidal post-receive hook:
sudo -u redmine /usr/local/sbin/redmine-git-fetch /data/redminerepos/czechidm.git /usr/bin/wget --no-check-certificate "https://localhost/sys/fetch_changesets?key=NEJAKEIDZREDMINE&id=czechidm" -O /dev/null 1>/dev/null 2>&1
Daný skript (post-receive hook) spustí nejdřív skriptík občerstvující data v repozitáři pro Redmine a následně zavolá Redmine aby si načetl změny. Vaše ID pro volání webové služby občerstvující údaje v Redmine najdete v administračním rozhraní.
Skript /usr/local/sbin/redmine-git-fetch
:
#!/bin/bash cd $1 && /usr/bin/git fetch >/dev/null 2>&1 && /usr/bin/git reset --soft refs/remotes/origin/master >/dev/null 2>&1
Pluginy, které musíte mít
Redmine se snadno rozšiřuje o nové funkce – stačí nainstalovat a případně lehce nakonfigurovat plugin. Adresář pluginů je k nalezení na webu Redmine Plugins Directory. Postup jak nainstalovat plugin je popsán v Redmine wiki.
Timesheet Plugin
Timesheet plugin přidává do Redmine přehled o vyčerpaném čase na všech projektech. Výsledkný report umožňuje seskupit podle projektů, uživatelů nebo úkolů.
Spolu s Budget pluginem je to pro nás jeden z nejdůležitějších pluginů v Redmine. Ke stažení je na webu https://projects.littlestreamsoftware.com/projects/redmine-timesheet
Rate
Plugin pro nastavení hodinové sazby u každého uživatele Redmine, je možné nastavit sazbu i pro konkrétní projekt. Plugin drží historii, takže změna sazby nezmění již vykázané částky u starších prací.
Plugin je ke stažení na webu https://projects.littlestreamsoftware.com/projects/redmine-rate
Budget
Budget plugin usnadňuje sledování čerpání peněz na projektu. Projekt lze rozdělit na samostatné části, dejme tomu, že je nazveme “dodávkami”. Každý ticket je možné přiřadit konkrétní dodávce zákazníkovi (přiřazení lze provést i hromadně “importem” úkolů zařazených ke konkrétní verzi).
Ke screenshotu – pro Budget plugin zatím nemáme nasazenou českou lokalizaci.
Zdroj pluginu: https://projects.littlestreamsoftware.com/projects/redmine-budget
Redmine ChangeAutor Plugin
Pokud někdo přijímá hlášení od zákazníka o chybě telefonicky, tak ho rovnou zapíše do Redmine. V takovém případě se hodí aby se autorem záznamu (ticketu) stal zákazník. Tento plugin umožňuje snadno změnit vlastníka ticketu.
Zdroj pluginu: https://github.com/fragtom/Redmine-Changeauthor-Plugin
Redmine Auto Done 100%
Docela často se stane, že někdo zavře ticket s tím, že je vyřešen, ale nevyplní správně procenta na kolik je vyřešen (když je zavřen tak už na 100%), tento plugin to dělá automaticky.
Zdroj pluginu: https://github.com/wadewomersley/redmine-auto-percent
Tip na závěr
Pokud používáte RSS čtečku, tak je možné odebírat log aktivit a některé další generované výpisy přes Atom feed. Na stránce s výpisem najdete odkaz na Atom feed, který funguje i bez nutnosti přihlášení uživatele k Redmine (obsahuje pro daného uživatele vygenerované autorizační id). Odběrem získáte snadný přehled o důležitých událostech na projektu aniž byste museli číst každý email nebo se přihlašovat do Redmine.