Download the PHP package sle/phing-typo3-deployer without Composer

On this page you can find all versions of the php package sle/phing-typo3-deployer. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package phing-typo3-deployer

Phing TYPO3 Deployer

Copyright 2017 by Steve Lenz

[Tracis CI](https://travis-ci.org/hirnsturm/phing-typo3-deployer)

Inhalt

Einleitung

Was ist das Ziel dieses Pakets?

Phing Typo3 Deployer basiert auf dem Build-Tool Phing und dient zum automatisierten Veröffentlichen, i.S.v. Continuous Intregration und Continuous Depoyment, von TYPO3 CMS Instanzen.

Voraussetzungen

Projektstruktur

Dieses Tool benötigt und generiert folgende Verzeichnisstruktur und Dateien:

Einrichtung eines neuen Projekts

Für die Einrichtung sind lediglich diese drei Schritte notwendig:

  1. composer.json im Webroot (htdocs-Verzeichnis) des Projekts erstellen

  2. Composer-Pakete installieren

    Bei der Installation wird folgende Projektstruktur generiert:

  3. Dateien zur Versionskontrolle hinzufügen

    Folgende Dateien müssen zur Versionskontrolle hinzugefügt werden:

    Hinzufügen mit git:

Einrichtung des Projekts auf dem Zielsystem

Unter dem Begriff Zielsystem wird hier ein Webserver oder Ähnliches verstanden.

Für die korrekte Einrichtung auf dem Zielsystem sind folgende Schritte erforderlich:

  1. Projektdatein auf das Zielsystem kopieren

    Die Projektdateien bzw. Verzeichnisse, die sich in der Versionskontrolle befinden, müssen auf das Zielsystem kopiert werden. Die Verzeichnisstruktur sieht nun wie folgt aus:

  2. Composer-Pakete installieren

  3. Bei einigen vServern (bspw. Mittwald vServer) kann Phing den absoluten Pfad nicht korrekt auslesen. Zudem wird PHP in der Kommandozeile mit php_cli statt mit php aufgerufen. Daher können die Umgebungsvariablen, in der nun angelegten build.env.properties, umkonfiguriert werden.

    • Bsp. Mittwald vServer ENV-Konfiguration:
  4. Initiales Release veröffentlichen

    Das Verzeichnis mit der akteullen Version befindet sich unter releases/current/. damit dieses erstellt werden kann, muss folgender Befehl ausgeführt werden:

    Siehe auch Wie erstellt man ein neues Release?

    Achtung!

    Ggf. kann es bei der Ausführung auf Mittwald vServer dazu kommen, das Phing nicht die build.xml finden kann. Hierfür sollte alternativ eine phing.phar installiert werden (siehe https://www.phing.info/). Die phing.phar sollte idealerweise in das Root-Verzeichnis des Projekt-Reporitories aufgenommen und auch mit deployed werden.

    Dabei werden folgende Datein und Verzeichnisse erstellt:

    In das Verzeichnis releases/current/ werden die Daten aus dem Verzeichnis typo3 kopiert und composer install ausgeführt.

  5. vHost konfigurieren

    Der vHost muss auf das Verzeichnis <project-root>/releases/current/web zeigen.

  6. TYPO3 CMS auf dem Zielsystem installieren

    Nun muss das TYPO3 CMS auf dem Zielsystem initial installiert werden. Dies kann über den TYPO3 Install Wizard oder die typo3console erfolgen.

    Installation mit Hilfe der typo3console:

  7. Zentrale Ablage der gemeinsamen Dateien

    Die gemeinsamen Dateien (shared data) müssen nun noch zentral abgelegt werden, damit sie für zukünftige Releases verfügbar sind:

    Hierbei werden die LocalConfiguration.php sowie die Verzeichnisse fileadmin und uploads in das Verzeichnis shared kopiert, da diese immer gleich bleiben und somit für zukünftigen Releases zentral zur Verfügung stehen. Zudem werden die originale durch Symlinks ersetzt.

    Generierte Verzeichnisstruktur für shared:

Einrichtung für die automatisierte Veröffentlichung

Die automatierte Aktualisierung des Projekts kann über Git und Jenkins erfolgen. Bei der Synchronisation müssen folgende Dateien aktualisiert werden:

Hooks

Alle Verfügbaren Hooks befinden sich in der Datei build.hook.xml.

Properties

Globale Properties

Eine Liste der verwendbaren Properties befindet sich in der Datei src/phing/config/build.properties.

Eigene Properties

Eigene Properties können in der Datei build.custom.properties hinterlegt werden und stehen in den Hooks zur Verfügung.

Environment Properties

In der Datei build.env.properties können Environment-Konfigurationen vorgenommen werden.

FAQ

Auflistung aller verfügbaren Kommandos

Lokale Entwicklung

Die lokale Entwicklung findet im Verzeichnis htdocs/typo3 statt. Die komplette Verzeichnisstruktur nach der installation sieht wie folgt aus:

Der vHost sollte auf typo3/web zeigen.

Wie erstellt man ein neues Release?

Alternativ kann man das Release über 3 dedizierte Targets erstellen und veröffentlichen lassen. Zwischen den Targets können eigene Server-Skripte, bspw. Anpassung von Berechtigungen, ausgeführt werden. (Diese drei Targets werden in der Reihenfolge auch vom ci:release ausgeführt)

Jenkins Projekt Konfiguration

RSYNC

Installation der excludes.txt

Über folgende Composer-Konfiguration kann die excludes.txt automatisch installiert werden:

Konfiguration

In der Datei rsync/excludes.txt können die RSYNC-Excludes konfiguriert werden:

Versionskontrolle

Folgende Dateien und Verzeichnisse sollten nicht in die Versionskontrolle aufgenommen werden:

Migration

Version 1.x auf 2.x

Ab der Version 2 muss der Pfad des TYPO3 Web-Verzeichnises über die build.custom.properties wie folgt konfiguriert werden:


All versions of phing-typo3-deployer with dependencies

PHP Build Version
Package Version
Requires php Version >=7.1
phing/phing Version ^2.16
symfony/filesystem Version ^3.2
composer/composer Version ^1.1 || ^2.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package sle/phing-typo3-deployer contains the following files

Loading the files please wait ....