Zum Hauptinhalt springen

PHP-Anwendungen mit TYPO3 Surf deployen

TYPO3 surf ist ein Deployment-Tool für PHP-Anwendungen, das speziell für TYPO3 und Neos entwickelt wurde. In dieser Anleitung wird gezeigt, wie Du eine PHP-Anwendung mit Deployer in ein mittwald-Cloud-Projekt bereitstellst.

Vorraussetzungen

Für diese Anleitung gehen wir davon aus, dass Du bereits ein TYPO3- oder Neos-Projekt in einem Git-Repository hast, das Du bereitstellen möchtest, und dass Du mit den Grundlagen von TYPO3 Surf vertraut bist (siehe die Getting Started Anleitung, falls nicht).

Eine Anwendung mit TYPO3 Surf deployen

Die Anwendung auf der mittwald-Plattform erstellen

Zunächst musst Du eine neue benutzerdefinierte Anwendung in einem mittwald-Cloud-Projekt Deiner Wahl erstellen. Dies kannst Du über die mittwald Studio UI tun, oder alternativ über die CLI. Setze in jedem Fall das Dokumenten-Root der Anwendung auf den /releases/current-Symlink (oder ein Unterverzeichnis davon), der von TYPO3 Surf erstellt wird.

$ # use one of these:
$ mw app create php --document-root /releases/current/public

Merke dir die ID der installierten Anwendung, da du sie später benötigen wirst. In den folgenden Beispielen werden wir uns auf diese Anwendungs-ID als <app-id> beziehen.

Nachdem du die Anwendung erstellt hast, musst du den Installationspfad der Anwendung aus der mittwald Studio-UI oder über die CLI abrufen (in den folgenden Beispielen werden wir uns auf diesen Installationspfad als <app-installation-path> beziehen).

$ mw app get <app-id>

Das Deployment konfigurieren

Verwende das Installationsverzeichnis der Anwendung als deploy_path in Deiner deploy.php-Datei. Zum Beispiel:

$node = new \TYPO3\Surf\Domain\Model\Node('mittwald');
$node->setHostname('ssh.fiestel.project.host'); // you can determine your SSH host via the "mw project get" command
$node->setDeploymentPath('/html/<app-installation-path>');
$node->setOption('username', 'ssh-XXXXXX@<app-id>');

Der Rest Deiner TYPO3 Surf-Konfiguration hängt von Deinem Projekt ab und wird aus diesem Grund nicht in dieser Anleitung behandelt. Bitte beachte die TYPO3 Surf-Dokumentation für weitere Informationen.