mirror of
https://github.com/cloudmaker97/JTL-Shop-Entwicklungsumgebung.git
synced 2025-12-06 00:48:34 +00:00
Basis-Umgebung für den JTL-Shop erstellt
This commit is contained in:
commit
7432a0b5d3
8 changed files with 152 additions and 0 deletions
68
README.md
Normal file
68
README.md
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
# Shop Entwicklung
|
||||
|
||||
## Beschreibung
|
||||
|
||||
Dieses Repository enthält alle benötigten Scripts, um einen JTL-Shop schnell und automatisiert zu Entwicklungszwecken zu installieren. Die Nutzung für produktive Systeme ist mit diesem Projekt nicht vorgesehen und wird auch nicht empfohlen.
|
||||
|
||||
### Lizenz der Shop-Software
|
||||
|
||||
> Die Shop-Software wurde durch die [JTL-Software GmbH](https://www.jtl-software.de/) erstellt und unterliegt den jeweiligen Lizenzbedingungen, welche auch hier einsehbar sind: [JTL-Shop / Core](https://gitlab.com/jtl-software/jtl-shop/core/-/blob/master/LICENSE.md).
|
||||
|
||||
### Lizenz der Scripts in diesem Projekt
|
||||
|
||||
> Die Scripts zur automatisierten Installation wurden von [Dennis Heinrich](https://dennis-heinri.ch) erstellt und unterliegen ebenfalls den selben Lizenzbedingungen, wie die Shop-Software.
|
||||
|
||||
## Installation und Befehle
|
||||
|
||||
Zur Installation des Shops wird nur ein Befehl benötigt. Der Befehl `just install` installiert den Shop mit der neusten Version und den standardmäßigen Einstellungen. Optional kann auch eine spezifische Version installiert werden. Dazu wird eine unterstützte Versionsnummer verwendet.
|
||||
|
||||
```bash
|
||||
# Führt die Installation mit der neusten Shop-Version auf PHP 8.1
|
||||
# aus und installiert anschließend den Shop mit Demo-Daten.
|
||||
just
|
||||
```
|
||||
|
||||
```bash
|
||||
# Führt die Installation mit spezifischen Werten aus.
|
||||
# Darüber kann die Installation der Shop-Version gesteuert werden,
|
||||
# die PHP-Version und ob Demo-Daten installiert werden sollen.
|
||||
just shop_version="5.3.1" install_demo="false" php_version="8.1"
|
||||
```
|
||||
|
||||
```bash
|
||||
# Erstellt ein Backup der Datenbank, Deinstalliert den Shop,
|
||||
# und löscht anschließend alle Dateien und Datenbanken. Die Datenbanken
|
||||
# werden als Snapshot im `.ddev/db_snapshots` Ordner gespeichert.
|
||||
just uninstall
|
||||
```
|
||||
|
||||
```bash
|
||||
# Diese Befehle sind zur Steuerung des DDEV-Containers vorgesehen.
|
||||
# <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
|
||||
# Startet den DDEV-Container
|
||||
just start
|
||||
# Stoppt den DDEV-Container
|
||||
just stop
|
||||
# Zeigt die Beschreibung und URLs des Containers an
|
||||
just describe
|
||||
```
|
||||
|
||||
| Parameter | Standardwert | Beschreibung |
|
||||
| --- | --- | --- |
|
||||
| `shop_version` | `5.3.1` | Die Shop-Version, die installiert werden soll. Aktuell stehen zur Auswahl `5.3.1`, `5.2.5`, `5.1.6` oder `5.0.6`. Um weitere Versionen anzubieten, siehe weiter unten im Abschnitt 'Unterstützte Shop-Versionen' |
|
||||
| `php_version` | `8.2` | Die PHP-Version, die genutzt werden soll. `5.6`, `7.0`, `7.1`, `7.2`, `7.3`, `7.4`, `8.0`, `8.1`, `8.2`, oder `8.3` |
|
||||
| `install_demo` | `true` | Ob der neue Shop Demo-Daten enthalten soll, ansonsten muss `false` angegeben werden. |
|
||||
|
||||
## Voraussetzungen
|
||||
|
||||
Zur Nutzung dieses Repositories sind folgende Voraussetzungen notwendig:
|
||||
|
||||
- [DDEV: Entwicklungsserver](https://ddev.readthedocs.io/en/stable/)
|
||||
- [Docker: Virtualisierung](https://www.docker.com/)
|
||||
- [Just: Command Runner](https://just.systems/)
|
||||
|
||||
## Unterstützte Shop-Versionen
|
||||
|
||||
Da die JTL-Shop Core den Installer nicht mehr zur Verfügung stellt, ist es notwendig, die Installer-Dateien in diesem Repository im Ordner `tools/installer` zu hinterlegen. Die Dateien sind in den entsprechenden Versionen im Dateinamen `install_**X.X.X**.zip` hinterlegt. Die Installations-Dateien können von der [Webseite von JTL](https://www.jtl-software.de/) mit einem Kundenkonto bezogen werden.
|
||||
|
||||
Es ist außerdem notwendig, dass in dem Repository des JTL-Shops / Core die Versionen als Tags hinterlegt sind. Diese Tags müssen mit den Versionen im Dateinamen der Installer-Dateien übereinstimmen.
|
||||
75
justfile
Normal file
75
justfile
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
shop_version := "5.3.1"
|
||||
php_version := "8.2"
|
||||
install_demo := "true"
|
||||
|
||||
# Installiert den Shop mit den angegebenen Werten
|
||||
[linux]
|
||||
install:
|
||||
just uninstall
|
||||
mkdir -p ./shop
|
||||
cd ./shop && wget https://gitlab.com/jtl-software/jtl-shop/core/-/archive/v{{shop_version}}/core-v{{shop_version}}.zip -O core.zip
|
||||
cd ./shop && unzip -o core.zip && rm core.zip
|
||||
sudo apt-get update && sudo apt-get install rsync
|
||||
# Overwrite all files, otherwise set --ignore-existing for rsync
|
||||
cd ./shop && rsync -av core-*/* . && rm -rf core-*
|
||||
just copy-installer
|
||||
just ddev-configuration
|
||||
just run-installer
|
||||
|
||||
# Deinstalliert den Shop. Löscht alle Dateien und Datenbanken
|
||||
[linux]
|
||||
uninstall:
|
||||
@rm -rf ./shop/*
|
||||
@if [ -d ".ddev" ]; then \
|
||||
ddev delete -y; \
|
||||
else \
|
||||
echo "Keine vorhandene Installation gefunden."; \
|
||||
fi
|
||||
|
||||
# Startet die Entwicklungsumgebung
|
||||
[linux]
|
||||
start:
|
||||
@if [ -d ".ddev" ]; then \
|
||||
ddev start; \
|
||||
else \
|
||||
echo "Keine Konfiguration gefunden, bitte zuerst 'just install' ausführen."; \
|
||||
fi
|
||||
|
||||
# Fährt die Entwicklungsumgebung herunter
|
||||
[linux]
|
||||
stop:
|
||||
@if [ -d ".ddev" ]; then \
|
||||
ddev stop; \
|
||||
else \
|
||||
echo "Keine Konfiguration gefunden, bitte zuerst 'just install' ausführen."; \
|
||||
fi
|
||||
|
||||
# Zeigt Informationen zur Entwicklungsumgebung an
|
||||
[linux]
|
||||
describe:
|
||||
@if [ -d ".ddev" ]; then \
|
||||
ddev describe; \
|
||||
else \
|
||||
echo "Keine Konfiguration gefunden, bitte zuerst 'just install' ausführen."; \
|
||||
fi
|
||||
|
||||
[private]
|
||||
run-installer:
|
||||
@echo "\r\nInstalling JTL-Shop {{shop_version}}..."
|
||||
@curl --silent -X POST -k -H 'Content-Type: application/x-www-form-urlencoded' -d 'admin[name]=admin&admin[pass]=admin&admin[locale]=de&wawi[name]=sync&wawi[pass]=sync&db[host]=db&db[pass]=db&db[socket]=&db[user]=db&db[name]=db&demoProducts=10&demoCategories=10&demoManufacturers=10' https://jtl-shop-{{shop_version}}.ddev.site/install/install.php?task=doinstall
|
||||
@if [ {{install_demo}} = "true" ]; then \
|
||||
curl --silent -X POST -k -H 'Content-Type: application/x-www-form-urlencoded' -d 'admin[name]=admin&admin[pass]=admin&admin[locale]=de&wawi[name]=sync&wawi[pass]=sync&db[host]=db&db[pass]=db&db[socket]=&db[user]=db&db[name]=db&demoProducts=10&demoCategories=10&demoManufacturers=10' https://jtl-shop-{{shop_version}}.ddev.site/install/install.php?task=installdemodata; \
|
||||
fi
|
||||
@echo "Installation finished. You can now access the shop at https://jtl-shop-{{shop_version}}.ddev.site"
|
||||
|
||||
[private]
|
||||
copy-installer:
|
||||
cp ./tools/installer/install_{{shop_version}}.zip ./shop/install/installer.zip
|
||||
unzip -o ./shop/install/installer.zip -d ./shop/install
|
||||
rm ./shop/install/installer.zip
|
||||
|
||||
[private]
|
||||
ddev-configuration:
|
||||
ddev config --php-version {{php_version}} --project-type php --docroot ./shop --project-name jtl-shop-{{shop_version}}
|
||||
ddev start
|
||||
ddev exec composer install --working-dir=./shop/includes
|
||||
9
shop-development.code-workspace
Normal file
9
shop-development.code-workspace
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"folders": [
|
||||
{
|
||||
"path": ".",
|
||||
"name": "JTL-Shop: System zur Entwicklung"
|
||||
}
|
||||
],
|
||||
"settings": {}
|
||||
}
|
||||
0
shop/.gitkeep
Normal file
0
shop/.gitkeep
Normal file
BIN
tools/installer/install_5.0.6.zip
Normal file
BIN
tools/installer/install_5.0.6.zip
Normal file
Binary file not shown.
BIN
tools/installer/install_5.1.6.zip
Normal file
BIN
tools/installer/install_5.1.6.zip
Normal file
Binary file not shown.
BIN
tools/installer/install_5.2.5.zip
Normal file
BIN
tools/installer/install_5.2.5.zip
Normal file
Binary file not shown.
BIN
tools/installer/install_5.3.1.zip
Normal file
BIN
tools/installer/install_5.3.1.zip
Normal file
Binary file not shown.
Loading…
Reference in a new issue