Upgrade von Redmine

Redmine ist ein, auf Ruby on rails baiserendes, Projektmanagement und Ticketsystem.

Es ist opensource und erfreut sich allgemeiner Beliebtheit.

Da Redmine sehr intensiv weiterentwickelt wird kommt es häufig vor, dass Updates eingespeilt werden müssen.

Um ein Upgrade von Redmine durchzuführne geht man wie folgt vor:

  1. Sourcecode auf den aktuellen Stad bringen
    Wer den Quellcode per svn ausgecheckt hat kann sich glücklick schätzen denn hier ist das Upgrade sehr einfach:
    Damit wird Redmine auf den aktuellen Stand Ihrer Vollversion aktualisiert z.B. von 3.1.1 auf 3.1.2
    Wenn Sie auf eine aktuelle Vollversion aktualisieren möchten verwenden Sie den switch Befehl:
    Hiermit werden alle Dateien auf den Stand der derzeit aktuellen 3.1 Version aktualisiert. Ihre settings werden dabei nicht überschrieben.
    Wer kein Subversion verwendet hat, kann z.B. fertige Pakete herunterladen und die in einen neuen Ordner entpacken. Danach /files, /plugins und Konfigurationdateien aus dem alten Ordner kopieren.
  2. Nun müssen die notwendigen Gems nachinstalleirt bzw. aktualisiert werden
    Das Bundle Script aktualisiert bzw. installiert
  3. Aktualisieren der Redmine Datenbank
    Führt das Script zum Migrieren der Datenbank aus
  4. Aktualisieren der Redmine Plugin Datenbanken
    Migriert die Datenbanken der Plugins
  5. Temporäre Dateien löschen
    Dadurch werden temporäre Sessions gelöscht.
  6. Redmine Instanz neu starten

 

„Never change a running system“ hat sich endgültig überlebt

Verständlich ist der Wunsch schon – sobald eine komplexe Konstruktion einwandfrei funktioniert, sollte sie das auch möglichst lange ohne weitere Eingriffe tun. Was in der Technik als Ingenieurskunst gehandelt wird, ist aber im Bereich Software exotisch sondergleichen. Hier ist es genau umgekehrt: Systeme, die nicht aktualisiert werden, sind dazu verdammt, unterzugehen – entweder still und leise oder mit einem gewaltigen Krach, der meist in der Form niederschmetternder Schlagzeilen erfolgt, denen zufolge wieder einmal vertrauliche Daten durch Hacker entwendet wurden. Betroffen sind von diesem Szenario praktisch alle Systeme, denen ein Internetzugang zur Verfügung steht, vom PC am heimischen Schreibtisch bis zur Serverfarm bei einem spezialisierten Hoster.

„Never change a running system“ hat sich endgültig überlebt subversion hosting projekt management entwicklungsumgebungenDaher gilt es, die mögliche Angriffsfläche für Malware, Trojaner und andere Schadsoftware möglichst klein zu halten, denn je weniger Möglichkeiten zum Angriff bestehen, desto schwieriger ist ein erfolgreicher Angriff durchzuführen. Wer auf die Bereitstellung von Diensten jeglicher Art über das Internet angewiesen ist, ist daher gut beraten, sich einen Anbieter aus der Sparte Profi Webhosting zu suchen, der einen zuverlässigen und sicheren Betrieb der Systeme gewährleisten kann. Gerade bei der Software-Entwicklung ist dies unerlässlich. Heute sind quer über den Erdball verstreute Entwicklerteams keine Seltenheit mehr, so dass das Internet als Kommunikationsmedium praktisch alternativlos ist. Wenn dann keine Vorsorge getroffen wird, damit Versionsverwaltung, Bugtracker und Projektverwaltung vor unbefugtem Zugriff sicher sind, kann das schnell zu Schäden in astronomischer Höhe führen.

Das dies kein utopisches Szenario ist, beweisen die Nachrichten der letzten Zeit hinlänglich. Selbst Anbietern von Antivirus-Software wurde schon Quellcode entwendet – zwar gehörte dieser zu veralteten Programmversionen, dennoch machen diese erfolgreichen Attacken deutlich, dass ohne verlässlichen Hoster schnell ein immenses Problem drohen kann.

Spezialisierte Anbieter für SVN Hosting

Da moderne Systeme zur Versionsverwaltung praktisch alle webbasiert sind, verwundert es nicht, dass sich neben dem allgemeinen Profi Webhosting auch eine eigene Sparte spezialisierter Dienstleister etabliert hat, die beispielsweise ein nach allen Regeln der Kunst abgesichertes SVN Hosting anbieten. Hier finden auch kleine und kleinste Entwicklerteams mit schmalem Budget eine sichere Umgebung für Subversion und die zugehörigen Werkzeuge, beispielsweise Bugzilla für die Verwaltung von Fehlern und Bugfixes. Der Kostenvorteil gegenüber einer selbst betriebenen Infrastruktur für die Versionsverwaltung ist dabei enorm, denn sämtliche Wartung der Systeme, deren Absicherung und Aktualisierung sowie Backups werden vom Dienstleister organisiert und umgesetzt. Der Anwender kann also sicher sein, immer eine aktuelle, dem Stand der Technik entsprechend abgesicherte Arbeitsumgebung vorzufinden – egal wo er sich auf dem Planeten befindet.

Solches Profi Webhosting bietet also Vorteile für beide Seiten, was den großen Erfolg der Spartenhoster erklärt. Neben Subversion sind auch weitere Spezialhostings am Markt vertreten, beispielsweise Git Hosting oder auch Ruby Hosting. Neben diesen Newcomern erleben auch Klassiker wieder eine Renaissance, die erst an Bedeutung verloren hatten, mittlerweile aber wieder deutlich aufholen. Zu diesen gehört zweifelsohne auch das Java Hosting, das im Kielwasser von interaktiven Websites mit HTML5, JavaScript und CSS wieder deutlich an Bedeutung gewonnen hat. Für die Nutzung javabasierter Entwicklungsumgebungen wie Eclipse war es ohnehin immer von erheblicher Bedeutung, wenn auch eher im Bereich großer Firmen, bei denen das gesamte Toolkit online gehostet wurde, samt Anbindung an Bugtracker und Versionsverwaltung, beispielsweise per Eclipse-Plugin (Subclipse).

Subversion Hosting – Berührungsängste unnötig!

Die Notwendigkeit, Sourcecode sicher aufzubewahren, ist unbestritten. Immerhin stellt der Quelltext das Ergebnis zahlreicher Mannmonate harter Arbeit dar und besitzt daher einen entsprechenden Wert. Es ist also nicht nur sinnvoll sondern dringend angeraten, ihn ausreichend gegen Verlust und (versehentliche) Manipulation zu schützen. Diese Aufgabe erfüllt heutzutage in der Regel eine sogenannte Versionsverwaltung, ein System das es erlaubt, den Sourcecode in seinen einzelnen Entwicklungsstufen kontrolliert zu archivieren. So ist auch später der Zugriff auf die einzelnen abgelegten Versionen möglich, was beispielsweise bei der Fehlersuche im Rahmen von Regressionstests extrem hilfreich ist. Außerdem bietet die Versionsverwaltung die Möglichkeit, mittels Anbindung an Bugtracker (z.B. Bugzilla) oder Projektverwaltung (z.B. Trac) die fortlaufende Weiterentwicklung des Sourcecodes als konsistenten Vorgang abzubilden. Damit ist auch später nachvollziehbar, welche Änderungen und Erweiterungen wann vorgenommen wurden, und welcher Entwickler sie schließlich in die Sourcecode-Verwaltung eingespielt hat.

Dieses System klingt für Einsteiger erst einmal sehr kompliziert – zugegebenermaßen besitzt das Ganze auch eine Lernkurve. Dank ausführlicher Literatur, die zu einem guten Teil auch kostenlos online verfügbar ist, hält sich der Aufwand für den Einstieg aber in Grenzen. Auch bei der Integration der einzelnen Komponenten zeigt sich heute ein beruhigendes Bild: Kaum eine Entwicklungsumgebung muss auf direkte Anbindung der Versionsverwaltung verzichten, von Visual Studio bis Eclipse steht eine breite Palette gut integrierter Pakete zur Verfügung. Einen kleinen Haken gibt es allerdings: Die Ersteinrichtung solch eines Toolkits ist mit einem deutlichen Erstaufwand verbunden. Bis alle Komponenten miteinander reibungslos kommunizieren, ist ein nicht zu unterschätzender Aufwand für Konfiguration und Abstimmung zu leisten.

Indivuelle Konfigurationen

Subversion Hosting – Berührungsängste unnötig! subversion hosting entwicklungsumgebungenHier kommen Dienstleister der Sparte Profi Webhosting ins Spiel, die sinnvoll zusammengestellte Pakete aus Webspace und Webanwendungen wie Subversion, Redmine und weiteren Bausteinen anbieten. Der Vorteil liegt auf der Hand: Durch die Nutzung eines spezialisierten Dienstleisters kann die gesamte Betreuung in die Hand von Spezialisten gelegt werden, ohne dass die zugehörigen Kosten für Personal und Infrastruktur intern zum Tragen kommen. Der SVN Hosting Anbieter kann durch die Konzentration auf sein Fachgebiet alle notwendigen Leistungen zu sehr günstigen Preisen anbieten, üblicherweise sind auch Anpassungen nach Kundenwunsch problemlos umsetzbar.

Für kleine und mittlere Unternehmen ist daher die Nutzung solch eines Anbieters das Mittel der Wahl zur Umsetzung einer gut gesicherten Infrastruktur zur Sourcecode-Verwaltung. Mit dem Spezialisten als Partner lassen sich auch komplexe Anforderungen schnell und sicher umsetzen, ohne dass dabei hohe langfristige Kosten anfallen, wie es bei der Einrichtung als interne Lösung der Fall wäre – Kosten für Personal und Technik fallen erst gar nicht in nennenswertem Umfang an. Lediglich für die Erstellung des eigenen Anforderungsprofils sowie die Einarbeitung in die Nutzung der neuen Möglichkeiten ist ein gewisser Aufwand gegeben, der allerdings als lohnenswerte Investition in die Zukunft der Software-Entwicklung im Unternehmen zu sehen ist. Durch Umzug der eigenen Firmen-Website zum Profi Webhosting Anbieter lässt sich dabei noch zusätzliches Einsparpotenzial nutzen, da die Hosting-Pakete in der Regel neben dem SVN Hosting auch alle Merkmale eines normalen Webhostings bieten. Die hier relevanten Werkzeuge zur Programmierung sind durchgängig webbasiert und erfordern daher ohnehin die gleiche Basis zum Betrieb wie Subversion et. al. auch.

Effizienz durch Konzentration auf Synergien und Kernkompetenzen

Heutzutage sehen sich Entwickler immer öfter auch mit betriebswirtschaftlichen Aspekten konfrontiert, die mit ihrer eigentlichen Aufgabe, der Programmierung und Entwicklung von Soft- und Hardware, kaum Berührungspunkte haben. Dennoch kann es kaum ein Entwickler vermeiden, sich damit befassen zu müssen. Der allgemein vorherrschende Druck, sowohl Kosten einzusparen als auch mehr Leistung zu erbringen, führt zu einer beständigen Suche nach sogenannten Optimierungspotenzialen.

Effizienz durch Konzentration auf Synergien und Kernkompetenzen subversion hosting entwicklungsumgebungen bugtrackerDabei müsste jedem denkenden Menschen klar sein, dass Leistungszuwächse und Einsparungen nicht endlos machbar sind – trotzdem dreht sich die Spirale munter weiter. Kreative Ideen sind in diesem Fall ein gutes Mittel, das Beste aus der Situation zu machen. Altbekannt ist dabei die Methode des Outsourcing, bei der bisher innerbetrieblich geleistete Aufgaben an einen spezialisierten externen Dienstleister übertragen werden. Ein vergleichsweise neuer Sektor ist hierbei das Profi Webhosting das beispielsweise dazu genutzt werden kann, um spezielle webbasierte Dienste auszulagern. Eine Sparte hiervon ist das Subversion Hosting, bei dem das bisher interne Repository der Versionsverwaltung zu einem externen Dienstleister ausgelagert wird.

Mit dieser Auslagerung lassen sich im Betrieb Kosten gleich für mehrere Kostenstellen einsparen, je nach betrieblicher Struktur gehen damit sogar noch Leistungssteigerungen einher. Das funktioniert wie folgt: Mit der Auslagerung der Versionsverwaltung werden Ressourcen frei, beispielsweise der Server, auf dem das Repository lag. Dessen Administration vereinfacht sich ebenfalls, wodurch mehr Zeit für andere administrative Aufgaben zur Verfügung steht. Wurde – wie in kleinen Betrieben durchaus üblich – der Server von einem Entwickler betreut, so kann dieser sich nun mehr seinen eigentlichen Aufgaben widmen. Zudem erhöht sich durch den Wegfall des Zugangs zum Repository von außen – sofern vorhanden – praktisch automatisch auch die Sicherheit des lokalen Netzwerks, da weniger laufende Dienste auch weniger Angriffsfläche für Attacken aus dem Internet bedeuten.

Integration von Subversion in Entwicklungsumgebungen

Bei den Entwicklungswerkzeugen ergeben sich durch die Umstellung kaum Änderungen – da Subversion auf Standardprotokolle aufsetzt, ist es für die Entwicklungsumgebung praktisch einerlei, ob das Repository im lokalen Netz liegt oder über das Internet zugänglich ist. Meist wird beim SVN Hosting gleich ein ganzes Paket nützlicher Werkzeuge als fertig konfiguriertes Toolkit angeboten, so dass neben der reinen Versionsverwaltung auch noch Bugtracker, Projektverwaltung und/oder andere Werkzeuge fertig integriert zur Verfügung stehen. Häufig anzutreffende Vertreter dieser Sparten sind beispielsweise Jira oder Bugzilla. Der Hoster kümmert sich dabei um alle Belange, die mit dem Betrieb der ausgelagerten Dienste zusammenhängen, so dass den Entwicklern stets ein kompetenter Ansprechpartner zu Verfügung steht, wenn Probleme auftreten oder Fragen zu klären sind. Üblicherweise lassen sich auch sehr umfangreiche Sonderwünsche problemlos umsetzen, was die Umstellung auf den externen Dienstleister so reibungslos wie möglich gestaltet.

Die Kombination aus anspruchsvoller Kundschaft und einer breiten Palette von Anbietern hat beim Subversion Hosting darüber hinaus auch dazu geführt, dass sich vor allem leistungsfähige und flexible Anbieter am Markt behaupten konnten. Kundenorientierung wird hier also groß geschrieben, ohne dabei wichtige Aspekte wie Ausfallsicherheit, Verfügbarkeit und Sicherheit zu vernachlässigen. Im Gegenteil – viele Unternehmen entscheiden sich regelmäßig aufgrund der guten Erfahrungen im Profi Webhosting dafür, auch die eigene Webpräsenz und andere internetgestützte Dienste dorthin zu verlagern.

Mit Subversion Hosting lassen sich Nebentätigkeiten bequem auslagern

Mit Subversion Hosting lassen sich Nebentätigkeiten bequem auslagern webhosting subversion hosting entwicklungsumgebungenGerade in kleineren Firmen kommen auf den Entwickler über kurz oder lang Nebentätigkeiten zu, die nicht zu seinen eigentlichen Kernkompetenzen gehören. Dazu gehört häufig auch die Einführung einer verlässlichen Versionsverwaltung, mit der die Investitionen der Firma in Software-Entwicklung abgesichert werden sollen. Dies betrifft nicht nur den „einfachen“ Verlust durch normale Vorgänge wie Festplattendefekte, sondern auch weniger triviale Ereignisse wie Regressionsfehler, die erst spät entdeckt werden. Ohne die Möglichkeit der vergleichenden Analyse verschiedener Versionen der Quelltexte sind solche Fehler nur mühsam einzugrenzen. Die Versionsverwaltung ist also nicht nur eine passive Ablage sondern ein aktives Werkzeug zur effizienten Software-Entwicklung.

Die Einführung solch eines Systems ist also kein Selbstzweck sondern aktive Prävention des Unternehmens, ähnlich wie Backups oder Versicherungen. Dementsprechend sollte auch ein Budget dafür bereitgestellt werden. Der ordnungsgemäße Betrieb einer wie auch immer gearteten Versionsverwaltung ist dabei zwar überschaubar, bedingt aber dennoch einen, wenn auch geringen, laufenden Aufwand. Auf den sowieso in der Regel knappen Terminplan der eigenen Entwickler lassen sich diese Zeiten nur selten ohne Reibungsverluste aufschlagen.

Die logische Konsequenz ist daher die Auslagerung dieser Funktionen an einen spezialisierten Anbieter für Profi Webhosting. Dieser unterstützt das Unternehmen bei Einrichtung und Betrieb während gleichzeitig Kosten für eigenes Personal und Infrastruktur eingespart werden. Je nach individuellem Bedarf gibt es neben dem reinen Subversion Hosting auch Pakete mit mehr Leistungsumfang, beispielsweise mit einem direkt an Subversion angebundenen Bugtracker wie Bugzilla. Hier ergeben sich durch die Bündelung dieser externen Aspekte beim Hoster erhebliche Einspareffekte auf der einen und beträchtlicher Komfortzuwachs auf der anderen Seite.

Mehr Flexibilität für Heimarbeitsplätze

Beispielsweise können Entwickler, sofern der Betrieb dies erlaubt, auch reibungslos vom heimischen Arbeitsplatz aus auf alle notwendigen Daten zugreifen, dieser Zuwachs an Flexibilität kommt dem Betriebsklima und der Loyalität der Angestellten sehr zugute. Auch die Einbindung externer Fachkräfte gelingt so wesentlich einfacher, da diese nicht vor Ort sein müssen, um aktiv zur Entwicklung beizutragen, sondern alle wichtigen Arbeiten über das Internet erledigt werden können. Selbstverständlich bleibt dabei immer noch genug Raum für soziale Interaktion und die notwendigen Meetings zur Projektkoordination.

Da der Markt im Bereich Profi Webhosting zwar von gesunder Konkurrenz gezeichnet ist, aber nicht dem massiven Preisdruck im Standard-Hostingbereich unterliegt, kann der interessierte Kunde hier aus einer breiten Palette gut durchstrukturierter Angebote wählen, bei der es für jedes Anforderungsprofil eine Lösung gibt. Vielfach werden auf Kundenwunsch kleine Modifikationen oder Erweiterungen ebenfalls gerne durchgeführt. Unterm Strich ergibt sich dabei gegenüber einer reinen In-House-Lösung eine beträchtliche Kostenersparnis, die ein schlagendes Argument für die Auslagerung an einen externen Hoster ist.

Abgerundet wird das Paket durch die nahtlose Integration der Versionsverwaltung mit den gängigen Entwicklungswerkzeugen, beispielsweise gibt es kaum eine Entwicklungsumgebung, für die es keine Subversion-Anbindung gibt. Durch die Verzahnung mit Bugzilla oder ähnlichen Tools ergibt sich für den Nutzer eine erhebliche Zeiteinsparung, da viele manuelle Schritte wie beispielsweise der Abgleich von Repository und Bugtracker nun automatisch geschehen. Umfangreiche Protokoll- und Benachrichtigungsfunktionen des Paketes sorgen dabei für allseitige Information – jeder Entwickler, Produktmanager, etc. ist jederzeit auf dem aktuellen Stand der Entwicklung.

Webhosting wird für die Softwareentwicklung immer wichtiger

Moment, was hat Webhosting denn mit der Softwareentwicklung zu tun? Diese Frage wird sich mancher Leser gerade stellen. Die Antwort soll gleich auf dem Fuße folgen: Viele Werkzeuge rund um die Programmierung von Software, von der Versionsverwaltung bis zumProjektmanagement, sind heute aus gutem Grund webbasiert angelegt. Die Implementation als Webanwendung bietet große Vorteile bei der Anbindung von Teammitgliedern über das Internet, ein Trend der seit geraumer Zeit anhält und immer größeres Gewicht erhält. Für international agierende Unternehmen ebenso wie für kleine, private Teams ist es von großem Vorteil, über das praktisch allerorts verfügbare Internet jederzeit alle Aktivitäten koordinieren zu können.

Im Bereich der Softwareentwicklung kristallisieren sich hierbei insbesondere der Bereich der Versionsverwaltung und das Projektmanagement heraus. Gerade hier kommt es darauf an, dass jedes Teammitglied möglichst ständig Zugriff auf die aktuellsten Informationen hat und diese auch mit dem Rest des Teams sowie dem zuständigen Management abgleichen kann. Im Hinblick auf die Kosten für den Betrieb eigener Infrastruktur rentiert sich die Nutzung eines spezialisierten Dienstleisters, der für einen reibungslosen Betrieb sorgt, ohne hohe fortlaufende Kosten zu verursachen. Der Markt bietet inzwischen eine breite Palette der gängigsten Werkzeuge aus dem Bereich Softwareentwicklung als Hostinglösungen an: Vom SVN Hosting über Jira oder Trac bis hin zu Eclipse als Entwicklungsumgebung sind zahlreiche Bausteine verfügbar und können auch fast beliebig miteinander kombiniert werden.

Subversion als webbasierte Lösung

Webhosting wird für die Softwareentwicklung immer wichtiger subversion hosting projekt management entwicklungsumgebungen bugtrackerDie Auslegung als webbasierte Lösung erleichtert dabei die Integration der einzelnen Bauteile in eine optimale Gesamtlösung für die individuellen Anforderungen. So lassen sich beispielsweise Einträge aus dem Bugtracker Bugzilla sehr leicht mit den zugehörigen Check-Ins in Subversion verknüpfen, so dass aus dem Verlauf im Bugreport direkt ersichtlich ist, welche Änderungen wo vorgenommen wurden, um den Fehler zu beheben. Die Plattformunabhängigkeit der webbasierten Lösungen setzt sich dabei in alle Richtungen fort: Selbst die Entwicklungsumgebung kann unabhängig sein – das beste Beispiel dafür ist wohl Eclipse. Die oben angesprochene modulare Konstruktion kommt auch hier wieder zum Einsatz: Mittels des Plugins Subclipse lässt sich direkt aus der IDE Kontakt zum Repository aufnehmen – so schließt sich der Kreis.

Für den Entwickler bedeutet der Rückgriff auf einen Profi für Subversion Hosting dabei vor allem eines: Er kann sich auf seine eigentliche Aufgabe voll konzentrieren. Der Hostinganbieter sorgt für einen reibungslosen, sicheren Betrieb der komplexen Technik praktisch hinter den Kulissen – für den Programmierer „funktioniert es einfach“. Das ist gerade für kleinere Unternehmen sehr attraktiv, da sie weder in zusätzliche Infrastruktur noch in zusätzliches Personal investieren müssen, sondern einfach ein Paket aufeinander abgestimmter Dienstleistungen einkaufen können. Die Spannbreite reicht dabei vom SVN Hosting bis hin zum Ruby Hosting und deckt so praktisch alle gängigen Anforderungen ab. Häufig lässt sich auch konventionelles Webhosting noch hinzu buchen, so dass der Kunde wirklich alle netzbasierenden Services aus einer Hand erhalten kann.