Debian-Paket bauen und deployen
Das Maven-Template für eine neue Anwendung bindet automatisch Plugins für das Bauen eines Debian-Pakets (*.deb
) und den Upload des Paketes in ein APT-Repository mit ein. Über diesen Prozess lässt sich eine TopLogic-Applikation "one-click" in einem Ubuntu-System installieren, betreiben und insbesondere auch aktualisieren.
POM-Einstellungen
Im pom.xml
der neuen Applikation müssen die folgenden Einstellungen getätigt werden, um den Release-Prozess vorzubereiten:
<tl.deb.skipDeploy>false</tl.deb.skipDeploy>
<tl.deb.repositoryUrl>https://my.server/nexus/repository/my-deb</tl.deb.repositoryUrl>
<tl.deb.serverId>my-server</tl.deb.serverId>
Als APT-Repository kann eine Installation des Sonatype Nexus Repository Manager verwendet werden. In diesem können neben Maven-Repositories auch APT-Repositories eingerichtet werden. Der Wert tl.deb.repositoryUrl
kann dann aus den Einstellungen des Repositories kopiert werden. Wichtig: Das '/'-Zeichen am Ende der URL muss weggelassen werden, da dieses von dem Deploy-Plugin automatisch ergänzt wird.
Außerdem muss im Abschnitt distributionManagement
ein Maven-Release-Repository eingetragen werden ("fill-out-here
" mit einer Repository-URL ersetzen):
<distributionManagement>
<repository>
<id>my-releases</id>
<url>fill-out-here</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<snapshotRepository>
<id>my-snapshots</id>
<url>fill-out-here</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</snapshotRepository>
</distributionManagement>
Wenn die Anwendung nur in ein APT-Repository deployt werden soll, kann beim Deploy alternativ auch das Property maven.deploy.skip
auf true
gesetzt werden. Diese Property muss in den <properties>
-Block eingefügt werden:
<maven.deploy.skip>true</maven.deploy.skip>
Deploy in APT-Repository
Sind alle Einstellungen getätigt, erzeugt ein normales Deploy neben der WAR-Datei auch ein DEB-Paket und lädt dieses in das konfigurierte APT-Repository hoch:
mvn deploy
Ubuntu-Installation
Das eigene APT-Repository wird über eine Datei /etc/apt/sources.list.d/my-repo.list
dem System bekannt gemacht:
deb https://my.server/nexus/repository/my-repo/ toplogic main
Wenn das APT-Repository Zugangsdaten erfordert, können diese in /etc/apt/auth.conf.d/my-repo
hinterlegt werden:
machine my.server
login <user-name>
password <password>
Installation in dem Ubuntu-System kann jetzt über Standard-Tooling erfolgen:
apt-get install my-app
Update der Installation
Nach Release einer neuen Applikationsversion kann diese über apt
aktualisiert werden:
apt-get update
apt-get upgrade my-app
Während des Update-Prozesses wird ein Backup der Datenbank und der Bewegungsdaten der Applikation in den Ordner /root/
gemacht. Sollte das Update nicht erfolgreich sein, kann hierüber der alte Zustand wiederhergestellt werden.