mirror of
https://github.com/cloudmaker97/JTL-Shop-Entwicklungsumgebung.git
synced 2025-12-06 00:48:34 +00:00
Support für die Shop-Version 5.5.2, Anleitung für neue Installationsmethode, Standard-PHP 8.4
This commit is contained in:
parent
924f5937b5
commit
d656e26492
6 changed files with 52 additions and 109 deletions
|
|
@ -1,7 +1,7 @@
|
||||||
name: jtl-shop
|
name: jtl-shop
|
||||||
type: php
|
type: php
|
||||||
docroot: ./shop
|
docroot: ./shop
|
||||||
php_version: "8.2"
|
php_version: "8.4"
|
||||||
webserver_type: apache-fpm
|
webserver_type: apache-fpm
|
||||||
xdebug_enabled: false
|
xdebug_enabled: false
|
||||||
additional_hostnames: []
|
additional_hostnames: []
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,3 @@
|
||||||
ARG BASE_IMAGE
|
|
||||||
FROM $BASE_IMAGE
|
|
||||||
USER root
|
|
||||||
# Install just from GitHub releases
|
|
||||||
RUN curl -L "https://github.com/casey/just/releases/download/1.36.0/just-1.36.0-x86_64-unknown-linux-musl.tar.gz" \
|
RUN curl -L "https://github.com/casey/just/releases/download/1.36.0/just-1.36.0-x86_64-unknown-linux-musl.tar.gz" \
|
||||||
| tar -xz -C /usr/local/bin
|
| tar -xz -C /usr/local/bin
|
||||||
|
|
||||||
# Make just executable
|
|
||||||
RUN chmod +x /usr/local/bin/just
|
RUN chmod +x /usr/local/bin/just
|
||||||
78
README.md
78
README.md
|
|
@ -1,23 +1,26 @@
|
||||||
# Entwicklungsumgebung für den JTL-Shop
|
# Entwicklungsumgebung für den JTL-Shop
|
||||||
|
|
||||||
## 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.
|
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.
|
||||||
|
|
||||||
### Vorschau der Installation mit nur einem Befehl
|
## Voraussetzungen
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
### Voraussetzungen
|
|
||||||
|
|
||||||
Es gelten die Lizenzbedingungen der JTL-Software-GmbH. Die Lizenzbedingungen sind in diesem Projekt als Lizenzdatei hinterlegt. Zur Nutzung dieses Repositories sind zudem folgende Voraussetzungen notwendig:
|
Es gelten die Lizenzbedingungen der JTL-Software-GmbH. Die Lizenzbedingungen sind in diesem Projekt als Lizenzdatei hinterlegt. Zur Nutzung dieses Repositories sind zudem folgende Voraussetzungen notwendig:
|
||||||
|
|
||||||
- [Docker: Virtualisierung](https://www.docker.com/)
|
- [Docker: Virtualisierung](https://www.docker.com/)
|
||||||
- [Just: Command Runner](https://just.systems/)
|
- [DDEV: Docker Development](https://ddev.com/)
|
||||||
|
|
||||||
## Installation und Befehle
|
## 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.
|
```bash
|
||||||
|
# 1. Klonen des Repository via SSH
|
||||||
|
git clone git@github.com:cloudmaker97/JTL-Shop-Entwicklungsumgebung.git
|
||||||
|
# 2. Anschließend in der Verzeichnis wechseln
|
||||||
|
cd JTL-Shop-Entwicklungsumgebung
|
||||||
|
# 3. Installation unter Standardeinstellungen
|
||||||
|
ddev just install
|
||||||
|
```
|
||||||
|
|
||||||
|
Zur Installation des Shops wird nur ein Befehl benötigt. Der Befehl `ddev just install` installiert den Shop mit der neusten Version und den standardmäßigen Einstellungen.
|
||||||
|
|
||||||
Nach der erfolgreichen Installation kann der Shop über die angezeigte URL aufgerufen werden. Die Anmeldedaten wurden automatisch festgelegt und sind:
|
Nach der erfolgreichen Installation kann der Shop über die angezeigte URL aufgerufen werden. Die Anmeldedaten wurden automatisch festgelegt und sind:
|
||||||
|
|
||||||
|
|
@ -26,46 +29,43 @@ Nach der erfolgreichen Installation kann der Shop über die angezeigte URL aufge
|
||||||
| Shop-Administration | `admin` | `admin` |
|
| Shop-Administration | `admin` | `admin` |
|
||||||
| Shop-Abgleich | `sync` | `sync` |
|
| Shop-Abgleich | `sync` | `sync` |
|
||||||
|
|
||||||
### Benutzerdefinierte Installations-Routinen
|
## Benutzerdefinierte Installations-Routinen
|
||||||
|
|
||||||
|
### Nutzung einer zweiten DDEV-Instanz
|
||||||
|
|
||||||
|
1. Repository klonen
|
||||||
|
2. Änderung der Domain in `.ddev/config.yaml`
|
||||||
|
3. Den Container zwingend mit `ddev restart` neu starten
|
||||||
|
4. Anschließend die Installation mit Argument starten
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Führt die Installation mit spezifischen Werten aus.
|
# Installiert den Shop unter einer anderen Domain
|
||||||
# Darüber kann die Installation der Shop-Version gesteuert werden,
|
ddev just shop_url="jtl-shop.ddev.site" shop_version="5.5.2"
|
||||||
# die PHP-Version und ob Demo-Daten installiert werden sollen.
|
|
||||||
# Weitere Parameter sind in der Tabelle unten aufgeführt.
|
|
||||||
just shop_version="5.3.1" install_demo="false" php_version="8.1"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Nutzung einer anderen Shop-Version
|
||||||
|
|
||||||
|
> 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.
|
||||||
|
|
||||||
|
1. Repository klonen
|
||||||
|
2. Notwendige PHP-Version unter `.ddev/config.yaml` eintragen
|
||||||
|
3. Den Container zwingend mit `ddev restart` neu starten
|
||||||
|
4. Anschließend die Installation mit Argument starten
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Erstellt ein Backup der Datenbank, Deinstalliert den Shop,
|
# Installiert den Shop unter einer anderen Domain
|
||||||
# und löscht anschließend alle Dateien und Datenbanken. Die Datenbanken
|
ddev just shop_version="5.5.2"
|
||||||
# werden als Snapshot im `.ddev/db_snapshots` Ordner gespeichert.
|
|
||||||
just uninstall
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Sonstige Installationsparameter
|
||||||
|
|
||||||
|
Hier sind alle Installationsparameter die mit der Installation mitgegeben werden um die Installation zu beeinflussen, Testprodukte zu erstellen etc.
|
||||||
|
|
||||||
| Parameter | Standardwert | Beschreibung |
|
| 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' |
|
| `shop_version` | `5.5.2` | Die Shop-Version, die installiert werden soll. Aktuell stehen zur Auswahl `5.5.2`, `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. |
|
| `install_demo` | `true` | Ob der neue Shop Demo-Daten enthalten soll, ansonsten muss `false` angegeben werden. |
|
||||||
| `install_demo_products` | `10` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Produkte |
|
| `install_demo_products` | `10` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Produkte |
|
||||||
| `install_demo_categories` | `3` | Falls die Demo-Daten installiert werden: Anzahl zu generierenden der Kategorien |
|
| `install_demo_categories` | `3` | Falls die Demo-Daten installiert werden: Anzahl zu generierenden der Kategorien |
|
||||||
| `install_demo_manufacturers` | `3` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Hersteller |
|
| `install_demo_manufacturers` | `3` | Falls die Demo-Daten installiert werden: Anzahl der zu generierenden Hersteller |
|
||||||
| `install_url` | `https://jtl-shop-**X.X.X**.ddev.site` | Die URL über die |
|
| `install_url` | `jtl-shop.ddev.site` | Die URL über die der Shop erreicht werden soll. Achtung: DDEV Config vorher anpassen! |
|
||||||
|
|
||||||
### Befehle für den DDEV-Entwicklungsserver
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Startet den Entwicklungs-Container
|
|
||||||
just start
|
|
||||||
# Stoppt den Entwicklungs-Container
|
|
||||||
just stop
|
|
||||||
# Zeigt die Beschreibung und URLs des Containers an
|
|
||||||
just describe
|
|
||||||
```
|
|
||||||
|
|
||||||
## 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.
|
|
||||||
73
justfile
73
justfile
|
|
@ -1,15 +1,13 @@
|
||||||
shop_version := "5.3.1"
|
shop_version := "5.5.2"
|
||||||
php_version := "8.2"
|
shop_url := "jtl-shop.ddev.site"
|
||||||
install_demo := "true"
|
install_demo := "true"
|
||||||
install_demo_products := "10"
|
install_demo_products := "10"
|
||||||
install_demo_categories := "3"
|
install_demo_categories := "3"
|
||||||
install_demo_manufacturers := "3"
|
install_demo_manufacturers := "3"
|
||||||
|
|
||||||
# Installiert den Shop mit den angegebenen Werten (Standard)
|
# Installiert den Shop mit den angegebenen Werten (Standard)
|
||||||
[linux]
|
|
||||||
install:
|
install:
|
||||||
@echo "Installiere Abhängigkeiten (ddev, rsync, unzip, mkcert)"
|
@echo "Installiere den Shop"
|
||||||
just install-dependencies
|
|
||||||
just uninstall
|
just uninstall
|
||||||
mkdir -p ./shop
|
mkdir -p ./shop
|
||||||
@echo "Lade JTL-Shop v{{shop_version}} herunter"
|
@echo "Lade JTL-Shop v{{shop_version}} herunter"
|
||||||
|
|
@ -21,79 +19,30 @@ install:
|
||||||
cd ./shop && rsync -av core-*/* . && rm -rf core-*
|
cd ./shop && rsync -av core-*/* . && rm -rf core-*
|
||||||
@echo "Kopiere Installer in das Shop-Verzeichnis"
|
@echo "Kopiere Installer in das Shop-Verzeichnis"
|
||||||
just copy-installer
|
just copy-installer
|
||||||
@echo "Konfiguriere die Entwicklungsumgebung"
|
|
||||||
just ddev-configuration
|
|
||||||
@echo "Installiere den Shop automatisch und lösche das Installationsverzeichnis"
|
@echo "Installiere den Shop automatisch und lösche das Installationsverzeichnis"
|
||||||
just run-installer
|
just run-installer
|
||||||
|
|
||||||
[private]
|
|
||||||
[linux]
|
|
||||||
install-dependencies:
|
|
||||||
sudo apt-get update
|
|
||||||
sudo apt-get install -y curl rsync unzip
|
|
||||||
curl -fsSL https://ddev.com/install.sh | bash
|
|
||||||
mkcert -install
|
|
||||||
|
|
||||||
# Deinstalliert den Shop. Löscht alle Dateien und Datenbanken
|
# Deinstalliert den Shop. Löscht alle Dateien und Datenbanken
|
||||||
[linux]
|
|
||||||
uninstall:
|
uninstall:
|
||||||
|
@echo "Deinstalliere den Shop"
|
||||||
@rm -rf ./shop/*
|
@rm -rf ./shop/*
|
||||||
@if [ -d ".ddev" ]; then \
|
|
||||||
echo "Entferne vorherige Installation" \
|
|
||||||
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
|
|
||||||
|
|
||||||
[linux]
|
|
||||||
[private]
|
|
||||||
run-installer:
|
run-installer:
|
||||||
|
# Composer install
|
||||||
|
@echo "\r\nInstalliere Composer Abhängigkeiten..."
|
||||||
|
@cd ./shop && composer install --working-dir=./includes
|
||||||
|
# Installer
|
||||||
@echo "\r\nInstalliere die Datenbank..."
|
@echo "\r\nInstalliere die Datenbank..."
|
||||||
@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={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://jtl-shop-{{shop_version}}.ddev.site/install/install.php?task=doinstall
|
@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={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://{{shop_url}}/install/install.php?task=doinstall
|
||||||
@if [ {{install_demo}} = "true" ]; then \
|
@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={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://jtl-shop-{{shop_version}}.ddev.site/install/install.php?task=installdemodata; \
|
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={{install_demo_products}}&demoCategories={{install_demo_categories}}&demoManufacturers={{install_demo_manufacturers}}' https://{{shop_url}}/install/install.php?task=installdemodata; \
|
||||||
fi
|
fi
|
||||||
clear
|
|
||||||
@echo "Installation erfolgreich abgeschlossen."
|
@echo "Installation erfolgreich abgeschlossen."
|
||||||
@echo "Erreichbar unter: https://jtl-shop-{{shop_version}}.ddev.site"
|
@echo "Erreichbar unter: https://{{shop_url}}"
|
||||||
|
|
||||||
[linux]
|
|
||||||
[private]
|
[private]
|
||||||
copy-installer:
|
copy-installer:
|
||||||
cp ./tools/installer/install_{{shop_version}}.zip ./shop/install/installer.zip
|
cp ./tools/installer/install_{{shop_version}}.zip ./shop/install/installer.zip
|
||||||
unzip -o ./shop/install/installer.zip -d ./shop/install
|
unzip -o ./shop/install/installer.zip -d ./shop/install
|
||||||
rm ./shop/install/installer.zip
|
rm ./shop/install/installer.zip
|
||||||
|
|
||||||
[linux]
|
|
||||||
[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
|
|
||||||
BIN
tools/installer/install_5_5_2.zip
Normal file
BIN
tools/installer/install_5_5_2.zip
Normal file
Binary file not shown.
Loading…
Reference in a new issue