Zum Inhalt springen

Jitterbit App Builder auf Docker ausführen

Einführung

Sie können den App Builder als Docker Container mit dem Jitterbit App Builder Docker-Image und einer gültigen App Builder-Lizenz ausführen.

Das Jitterbit App Builder Docker-Image unterstützt diese Datenbanken:

  • Standard- oder Enterprise x64 Editionen von Microsoft SQL Server 2016 oder später. Dies sollte mit der Kollationssequenz SQL_Latin1_General_CP1_CI_AS und gemischtem Authentifizierungsmodus konfiguriert werden.

  • MySQL 8.0 oder später.

  • PostgreSQL 14 oder später.

Wichtig

Während Sie eine App Builder-Instanz und ihre Datenbank separat auf Hosts ausführen sollten, die die Systemanforderungen von App Builder erfüllen, verwenden diese Anweisungen der Einfachheit halber denselben Host für beide.

Voraussetzungen

Sie müssen Folgendes haben:

Einschränkungen

Die folgenden Einschränkungen gelten für den App Builder, der als Docker-Container ausgeführt wird. (Sie gelten auch für alle Linux-basierten Installationen.)

Windows-Unterstützung

Diese Windows-Funktionen werden nicht unterstützt:

  • Active Directory-Authentifizierung
  • Crystal Reports
  • Dateisystem-Impersonation
  • Integrierte Windows-Authentifizierung (IWA)
  • SAP ABAP
  • Drittanbieter-Plugins

Dateiupload-Größenbeschränkung

Dateiuploads sind standardmäßig auf 30.000.000 Bytes (28,6 MB) beschränkt. Dies dient dazu, gegen Denial-of-Service (DoS)-Angriffe zu schützen.

Um dieses Limit zu erhöhen, setzen Sie die Umgebungsvariable Kestrel__Limits__MaxRequestBodySize auf die gewünschte maximale Dateigröße in Bytes.

Unterstützte Tags

Sie können Docker-Images mit den folgenden Tags abrufen:

Tag Version
latest Neueste Version des neuesten 4.x Serien-Release
4
4.0 Neueste Version eines bestimmten 4.x Serien-Release
4.46
4.46.12345 Bestimmte Version eines bestimmten 4.x Serien-Release

Wichtig

Zur Stabilität sollten Sie spezifische Release-Tags verwenden und Ihre App Builder-Instanz auf diesem Build festlegen. Um eine auszuwählen, konsultieren Sie die Versionshinweise oder die Seite Docker-Image-Tags.

Starten Sie eine App Builder-Instanz mit docker run

Um eine App Builder-Instanz zu starten, die sich mit einer vorhandenen Datenbank verbindet, die auf demselben Host läuft, befolgen Sie diese Schritte:

  1. Erstellen Sie eine Datei vinyl.env, die die folgenden Umgebungsvariablen enthält, wobei die Werte gemäß der Tabelle unten ersetzt werden:

    ConnectionInfo__DatabaseType=<DB_TYPE>
    ConnectionInfo__HostName=<DB_HOSTNAME>
    ConnectionInfo__DatabaseName=<DB_NAME>
    ConnectionInfo__Port=<DB_PORT>
    ConnectionInfo__UserName=<DB_USERNAME>
    ConnectionInfo__Password=<DB_PASSWORD>
    
    Wert Ersetzen durch
    <DB_TYPE> Ihr Datenbanktyp, einer der folgenden: SQLServer, MySQL oder PostgreSql.
    <DB_HOSTNAME> Der Hostname oder die IP-Adresse Ihres Datenbankservers.
    <DB_PORT> (Optional) Die Portnummer, auf der Ihr Datenbankdienst läuft. Standardwerte: 1433 (SQL Server), 3306 (MySQL), 5432 (PostgreSQL).
    <DB_NAME> (Optional) Der Datenbankname des App Builders. Standard: Vinyl. Für groß-/kleinschreibungssensible Datenbanken wie PostgreSQL und MySQL wird empfohlen, vinyl zu verwenden, um den Namensregeln der Datenbank zu folgen.
    <DB_USERNAME> Der Benutzername der App Builder-Datenbank.
    <DB_PASSWORD> Das Passwort des Benutzers der App Builder-Datenbank.

    (Diese und andere Umgebungsvariablen sind in Konfigurieren des App Builders beim Start beschrieben.)

    Beispiel für PostgreSQL:

    ConnectionInfo__DatabaseType=PostgreSql
    ConnectionInfo__HostName=host.docker.internal
    ConnectionInfo__DatabaseName=vinyl
    ConnectionInfo__Port=5432
    ConnectionInfo__UserName=postgres
    ConnectionInfo__Password=postgres
    
  2. Starten Sie den Docker-Container:

    docker run --publish "80:8080" --env-file vinyl.env jitterbit/app-builder:4.45
    
  3. Geben Sie http://localhost in die Adresszeile Ihres Browsers ein und warten Sie auf die Anmeldeseite des App Builders:

    Login

  4. (Optional) Verwenden Sie Ihren Browser, curl oder ein Web-API-Testtool, um eine GET-Anfrage an den Gesundheitscheck-Endpunkt des Containers http://localhost:80/ping zu senden. Die Antwort sollte App Builder - OK - YYYY-mm-DDTHH:MM:SSZ sein, wobei das Datum und die Uhrzeit im ISO 8601 UTC-Format angegeben sind.

  5. Melden Sie sich mit diesen Anmeldeinformationen an:

    • Benutzername: admin

    • Passwort: P@55w0rd (Das Standardpasswort des App Builder-Administrators.)

  6. Ändern Sie auf der Seite Passwort abgelaufen das Standardpasswort und klicken Sie dann auf die Seite Passwort speichern:

    Passwort ändern

  7. Klicken Sie auf der Seite Passwort geändert auf die Schaltfläche Weiter.

  8. Klicken Sie auf der Seite Aktive Lizenz auf die Schaltfläche Hochladen:

    Aktive Lizenz

  9. Klicken Sie auf der Seite Lizenz hochladen auf  Durchsuchen, um den Datei-Explorer Ihres Systems zu öffnen. Suchen Sie Ihre App Builder-Lizenzdatei und öffnen Sie sie, und klicken Sie dann auf die Schaltfläche Speichern:

    Lizenz hochladen

  10. Klicken Sie auf der Seite Lizenz hochladen auf die Schaltfläche Aktivieren:

    Lizenz hochgeladen

  11. Klicken Sie auf der Seite Aktive Lizenz auf die Schaltfläche Starten:

    Starten

  12. Die Willkommensseite des App Builders öffnet sich:

    Willkommen

Starten Sie eine App Builder-Instanz und eine Datenbank mit docker compose

Die folgenden Beispiele verwenden Docker Compose, um eine App Builder-Instanz und eine Microsoft SQL Server-Datenbank zu starten.

App Builder mit Microsoft SQL Server

Befolgen Sie diese Schritte:

  1. Erstellen Sie in einem leeren Verzeichnis eine Datei docker-compose.yml, die Folgendes enthält:

    services:
      db:
        image: mcr.microsoft.com/mssql/server
        hostname: vinyldb
        environment:
          MSSQL_SA_PASSWORD: P@55w0rd
          ACCEPT_EULA: Y
        volumes:
          - ./db_data:/var/opt/mssql/data
    
      vinyl:
        depends_on:
          - db
        image: jitterbit/app-builder:4.0
        ports:
          - 80:8080
        volumes:
          - ./vinyl_data:/app/data
          - ./vinyl_logs:/app/logs
          - ./vinyl_keys:/app/keys
        environment:
          ConnectionInfo__DatabaseType: SQLServer
          ConnectionInfo__HostName: vinyldb
          ConnectionInfo__DatabaseName: vinyl
          ConnectionInfo__UserName: sa
          ConnectionInfo__Password: P@55w0rd
    
    volumes:
      db_data:
      vinyl_data:
      vinyl_logs:
      vinyl_keys:
    
  2. Starten Sie die Dienste:

    docker compose up -d
    
  3. Überprüfen Sie die Protokolldateien in vinyl_logs, die im Protokollverzeichnis der App Builder-Anwendung /app/logs gemountet sind. (Die anderen Mounts sind /app/keys, wo die Verschlüsselungsschlüssel gespeichert sind, und /app/data, das Datenverzeichnis.)

  4. Fahren Sie fort, indem Sie Schritte 3 bis 12 aus dem vorherigen Abschnitt befolgen.

App Builder mit MySQL

Befolgen Sie die gleichen Schritte wie im Beispiel für Microsoft SQL Server, ersetzen Sie jedoch den Inhalt der Datei docker-compose.yml durch Folgendes:

services:
  db:
    image: mysql
    hostname: vinyldb
    environment:
      MYSQL_ROOT_PASSWORD: P@55w0rd
    volumes:
      - db_data:/var/lib/mysql

  vinyl:
    depends_on:
      - db
    image: jitterbit/app-builder:4.0
    ports:
      - 80:8080
    volumes:
      - ./vinyl_data:/app/data
      - ./vinyl_logs:/app/log
      - ./vinyl_keys:/app/keys
    environment:
      ConnectionInfo__DatabaseType: MySQL
      ConnectionInfo__HostName: vinyldb
      ConnectionInfo__DatabaseName: vinyl
      ConnectionInfo__UserName: root
      ConnectionInfo__Password: P@55w0rd

volumes:
  db_data:
  vinyl_data:
  vinyl_logs:
  vinyl_keys:

App Builder mit PostgreSQL

Befolgen Sie die gleichen Schritte wie im Beispiel für Microsoft SQL Server, ersetzen Sie jedoch den Inhalt der Datei docker-compose.yml durch Folgendes:

services:
  db:
    image: postgres
    hostname: vinyldb
    environment:
      POSTGRES_PASSWORD: postgres
    volumes:
      - db_data: /var/lib/postgresql/data

  vinyl:
    depends_on:
      - db
    image: jitterbit/app-builder:4.0
    ports:
      - 80:8080
    volumes:
      - ./vinyl_data:/app/data
      - ./vinyl_logs:/app/logs
      - ./vinyl_keys:/app/keys
    environment:
      ConnectionInfo__DatabaseType: PostgreSql
      ConnectionInfo__HostName: vinyldb
      ConnectionInfo__DatabaseName: vinyl
      ConnectionInfo__UserName: postgres
      ConnectionInfo__Password: postgres

volumes:
  db_data:
  vinyl_data:
  vinyl_logs:
  vinyl_keys: