Skip to content

Commit 4d7727d

Browse files
authored
[TASK] Move automatic deployment to TYPO3 explained (#501)
Chapter needs more love in general: #498 Releases: main, 13.4, 12.4
1 parent da8313a commit 4d7727d

File tree

7 files changed

+0
-241
lines changed

7 files changed

+0
-241
lines changed

Documentation/Installation/DeployTYPO3.rst

-73
Original file line numberDiff line numberDiff line change
@@ -36,76 +36,3 @@ General Deployment Steps
3636
the server's PHP version can be defined in the :file:`composer.json` file
3737
(e.g. ``{"platform": {"php": "8.2"}}``), so Composer will always check
3838
the correct dependencies.
39-
40-
Deployment Automation
41-
=====================
42-
43-
A typical setup for deploying web applications consists of three different parts:
44-
45-
* The local environment (for development)
46-
* The build environment (for reproducible builds). This can be a controlled local environment or a remote continuous integration server (for example Gitlab CI or Github Actions)
47-
* The live (production) environment
48-
49-
To get an application from the local environment to the production system, the usage of a deployment tool and/or a continuous integration solution is recommended. This ensures that only version-controlled code is deployed and that builds are reproducible. Ideally setting a new release live will be an atomical operation and lead to no downtime. If there are errors in any of the deployment or test stages, most deployment tools will initiate an automatic "rollback" preventing that an erroneous build is released.
50-
51-
One widely employed strategy is the "symlink-switching" approach:
52-
53-
In that strategy, the webserver serves files from a virtual path :path:`releases/current/public` which consists of a symlink :path:`releases/current` pointing to the latest deployment ("release"). That symlink is switched after a new release has been successfully prepared.
54-
The latest deployment contains symlinks to folders that should be common among all releases (commonly called "shared folders").
55-
56-
Usually the database is shared between releases and upgrade wizards and schema upgrades are run automatically before or
57-
shortly after the new release has been set live.
58-
59-
This is an exemplatory directory structure of a "symlink-switching" TYPO3 installation:
60-
61-
.. directory-tree::
62-
63-
* :path:`shared`
64-
65-
* :path:`fileadmin`
66-
* :path:`var`
67-
68-
* :path:`charset`
69-
* :path:`lock`
70-
* :path:`log`
71-
* :path:`session`
72-
73-
* :path:`releases`
74-
75-
* :path:`current -> ./release1` (symlink to current release)
76-
* :path:`release1`
77-
78-
* :path:`public` (webserver root, via releases/current/public)
79-
80-
* :path:`typo3conf`
81-
* :path:`fileadmin -> ../../../shared/fileadmin` (symlink)
82-
* :file:`index.php`
83-
84-
* :path:`var`
85-
86-
* :path:`build`
87-
* :path:`cache`
88-
* :path:`charset -> ../../../shared/var/charset` (symlink)
89-
* :path:`labels`
90-
* :path:`lock -> ../../../shared/var/lock` (symlink)
91-
* :path:`log -> ../../../shared/var/log` (symlink)
92-
* :path:`session -> ../../../shared/var/session` (symlink)
93-
94-
* :path:`vendor`
95-
* :file:`composer.json`
96-
* :file:`composer.lock`
97-
98-
99-
The files in :path:`shared` are shared between different releases of a web site.
100-
The :path:`releases` directory contains the TYPO3 code that will change between the release of each version.
101-
102-
When using a deployment tool this kind of directory structure is usually created automatically.
103-
104-
The following section contains examples for various deployment tools and how they can be configured to use TYPO3:
105-
106-
.. toctree::
107-
:titlesonly:
108-
109-
Deployer/Index
110-
Surf/Index
111-
Magallanes/Index

Documentation/Installation/Deployer/Index.rst

-17
This file was deleted.

Documentation/Installation/Deployer/_deploy.php

-18
This file was deleted.

Documentation/Installation/Magallanes/Index.rst

-16
This file was deleted.

Documentation/Installation/Magallanes/_mage.yml

-39
This file was deleted.

Documentation/Installation/Surf/Index.rst

-17
This file was deleted.

Documentation/Installation/Surf/_MyDeployment.php

-61
This file was deleted.

0 commit comments

Comments
 (0)