This is an old revision of the document!
To run the website we need a webserver, a database and PHP (with some additional modules).
Either set this up all yourself or you can use DDEV.
I prefer ddev because…
To get third party dependencies in place:
The place where your website will life in. It contains all the code that makes up the website.
Tools to enfore coding standards and prevent bugs might come in handy improving the code.
* used by the TYPO3 Core
Using a version control system it makes it easier to understand what,
when and why a change was done to the code.
Pack up and process SCSS, Javascript files and more to be ready for the browser.
There are many different bundlers around like gulp, grunt, webpack, vite.
Nowadays, i prefer to use vite because of its simple configuration and speed.
Tests are always good practice. It will ensure that the changed code is still working.
* used by the TYPO3 Core
On every change in the codebase a pipeline should run to execute the QA tool, bundle and testing.
Finally, ship your code.
<ul> <li>CI Tools: GitHub Actions, Gitlab (Runner)</li> <li>Ship code: TYPO3 Surf, Deployer or a plain bash script if you prefer</li> <ul>
… for GitLab users.
Let me show you …
Wanted | Available and preconfigured in the Template |
---|---|
LAMP | ✅ DDEV |
Package-Manager | ✅ Composer, NPM |
Site package | ✅ |
QA Tools / Analyzer | ✅ PHPStan, PHP-CS-Fixer |
Versioning | ✅ Git |
Bundler | ✅ ViteJS |
Tests (unit, functional, acceptance) | ❌ |
Continous integration | ⚠️ GitLab Runner + deployer (needs additional configuration) |
Project (maintained by GitLab):
https://gitlab.com/gitlab-org/project-templates/typo3-distribution/
Workflow:
@gitlab-bot ready
⚠️ Try to keep changes small