//Cloudogu EcoSystem Docs

Dateiverwaltung von Redmine-Plugins

Redmine lässt sich mit Plugins erweitern. Dabei ist die Verwaltung auf Dateiebene einfach.

Neue Plugins hinzufügen

Neue Plugins müssen als Verzeichnis im plugins-Volume des Redmine-Dogus abgelegt werden. Der Pfad lautet

/var/lib/ces/redmine/volumes/plugins

Beispielhafte Verzeichnisansicht anhand des CAS-Plugins:

/var/lib/ces/redmine/volumes/plugins
├─ redmine_cas/
   ├─ app
      ├─ ...
   ├─ config
      ├─ ...
   ├─ lib
      ├─ ...
   ├─ Gemfile
   ├─ init.rb

Um ein neues Plugin hinzuzufügen, muss das Verzeichnis des neuen Plugins in das Verzeichnis /var/lib/ces/redmine/volumes/plugins kopiert werden. Beim nächsten Dogu-Neustart wird das Plugin installiert und kann verwendet werden.

Ruby Gem und eine Internetverbindung

Neue Plugins benötigen sehr wahrscheinlich weitere Gem-Abhängigkeiten. In der Regel werden diese über https://rubygems.org ausgeliefert.

In Cloudogu EcoSystem-Instanzen ohne Internetzugang ist dieser Schritt daher nicht ohne weiteres möglich. Eine Lösungsmöglichkeit wäre das Kopieren der Abhängigkeiten in den Ruby-Gem-Cache innerhalb des Containers mit docker cp udgl. Aktuell liegt der Cache unter /usr/lib/ruby/gems/2.7.0, dies kann sich jedoch in weiteren Versionen ändern. docker exec redmine gem environment liefert hierzu weitere Informationen.

Für im Dogu mitgelieferte Plugins ist keine Internetverbindung nötig, da die Abhängigkeiten während der Image-Erstellung bereits installiert wurden. Dies ist auch der Grund, warum die Plugins im Image sowohl unter ${WORKDIR}/plugins als auch unter ${WORKDIR}/defaultPlugins liegen.

Plugins entfernen

Das Redmine-Dogu liefert einen Befehl zum Löschen von bereits installierten Plugins, welcher von Außen über die cesapp aufrufbar ist. Da durch das Entfernen des Plugins ggf. auch Änderungen an der Datenbank durchgeführt werden, wird ein Backup der Datenbank vor dem Entfernen des Plugins empfohlen.

Mit dem Befehl

cesapp command redmine delete-plugin <plugin name> --force

wird das Plugin <plugin name> aus Redmine komplett entfernt. Nach der erfolgreichen Ausführung des Befehls muss das Dogu einmal neugestartet werden, damit auch Redmine die geladenen Plugins aktualisiert. Andernfalls kann es zu schwerem Fehlverhalten in Redmine kommen.

Die mit dem Docker-Image gelieferten Standard-Plugins, die für den Betrieb des Dogus notwendig sind, werden bei jedem Neustart wiederhergestellt:

  • redmine_cas
  • redmineextendedrest_api
  • redmineactiverecordsession_store

UI