Entwicklungsumgebung einrichten: Unterschied zwischen den Versionen
Ergänzung Mailpit
(Erstentwurf) |
(Ergänzung Mailpit) |
||
| (21 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
Das Einrichten der Testumgebung erfolgt in mehreren Schritten, die im folgenden beschrieben sind. Falls es dabei zu unerwarteten Fehlermeldungen kommt, bitte die letzten Schritte noch einmal genau anschauen und gegebenenfalls wiederholen. Auch ein Blick ins Fehlerhandbuch hilft meistens, da bereits viele Fallstricke entdeckt und beschrieben wurden. | Das Einrichten der Testumgebung erfolgt in mehreren Schritten, die im folgenden beschrieben sind. Falls es dabei zu unerwarteten Fehlermeldungen kommt, bitte die letzten Schritte noch einmal genau anschauen und gegebenenfalls wiederholen. Auch ein Blick ins Fehlerhandbuch hilft meistens, da bereits viele Fallstricke entdeckt und beschrieben wurden. | ||
== Das Betriebssystem vorbereiten, entweder Linux oder Windows == | == 1. Das Betriebssystem vorbereiten, entweder Linux oder Windows == | ||
=== Windows 10 === | |||
==== Programme installieren ==== | |||
Unter Windows ist es standardmäßig nicht möglich, “einfach“ die Linux Distribution Ubuntu zu installieren. Dazu muss vorab erst das WSL2 aktiviert / installiert werden werden (Punkt 1). Im Anschluss ist eine Installation von Ubuntu (18.04 oder höher) möglich. Zudem muss DDEV installiert werden, in welchem dann die Entwicklungsumgebung laufen kann (Punkt 2). | |||
# WSL2 unter Windows10 aktivieren und Ubuntu installieren: | |||
## Aus dem Microsoft-Store: https://aka.ms/wslstorepage (verfügbar seit Nov. 2022) | |||
## Manuell unter [https://learn.microsoft.com/de-de/windows/wsl/install#manual-installation-steps|Installieren von WSL] | |||
# DDEV für Windows installieren: [https://docs.ddev.com/en/stable/#system-requirements-windows-wsl2|Install DDEV WSL2] | |||
Danach kann Ubuntu gestartet werden (z.B. im “Such“-Menü nach Ubuntu suchen und anklicken). Beim erstmaligen Starten von Ubuntu müssen ein Benutzername und ein Passwort festgelegt werden. | |||
== Die Testdatenbank füllen == | Im Anschluss den Punkten folgen und ausführen, die im nächsten Schritt “Linux” beschrieben werden. | ||
=== Linux === | |||
Der Linuxartikel wurde erstellt auf Lubuntu 22.04 und erweitert mit Debian 12 | |||
==== Programme installieren ==== | |||
Folgende Programme sind notwendig und müssen vorab installiert werden: | |||
PHP (aktuell mindestens PHP8.2), diverse PHP-Erweiterungen, ddev, mariadb-client. Für die PHP-Erweiterungen ist eventuell ein zusätzliches PPA-Repository notwendig. Dessen Installation erfordert je nach Betriebssystem ein unterschiedliches Vorgehen. | |||
<nowiki>Ubuntu: | |||
sudo apt install software-properties-common | |||
sudo add-apt-repository ppa:ondrej/php | |||
Debian: | |||
sudo apt install software-properties-common ca-certificates lsb-release apt-transport-https | |||
curl -sSL https://packages.sury.org/php/README.txt | sudo bash -x</nowiki> | |||
Die Pakete lassen sich mit folgenden Befehlen installieren (Versionsnummer kann abweichen). | |||
<nowiki>sudo apt update | |||
sudo apt install php8.2 php8.2-mbstring php8.2-curl php8.2-xml php8.2-mysql | |||
sudo apt install mariadb-client | |||
sudo apt install ddev</nowiki> | |||
Sollten beim Installieren der Pakete Fehlermeldungen auftreten, ist es empfehlenswert, die Pakete einzeln zu installieren und auftretende Fehler/Abhängigkeiten einzeln zu lösen. | |||
== 2. Sourcecode von Git laden == | |||
=== Github === | |||
Zwar ist zum Herunterlden des Sourcecodes keine Account auf GitHub notwendig, aber zum Hochladen wird einer benötigt. Daher sollte zuerst einen Account auf https://github.com/ angelegt werden. | |||
=== optional: SSH-Keys für Repositorys anlegen und in Github eintragen === | |||
siehe https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/connecting-to-github-with-ssh<br /> | |||
oder: https://www.heise.de/tipps-tricks/SSH-Key-fuer-GitHub-Repositories-einrichten-4627459.html | |||
=== Git lokal installieren === | |||
Windows:<br /> | |||
siehe: https://github.com/git-for-windows/git/releases<br /> | |||
Linux: | |||
<nowiki>sudo apt install git</nowiki> | |||
=== Sourcecode lokal herunterladen === | |||
Ein Terminal öffnen, folgende Kommandos ausführen und dabei Namen und Email-Adresse des Git-Accounts eintragen: | |||
<nowiki>git config --local user.name "Your Name Here" | |||
git config --local user.email "your_email@youremail.com"</nowiki> | |||
Im Verzeichnis "home" einen Ordner "opencaching" (Name beliebig) anlegen. Dort folgenden Code ausführen. Dies legt einen Ordner mit dem Namen “oc-server3“ an, lädt den OC-Code aus deinem Github-Fork herunter und kopiert ihn in diesen Ordner. | |||
<nowiki>git clone git@github.com:<DeinGithubBenutzername>/oc-server3</nowiki> | |||
Im Anschluss in den Ordner “oc-server3“ wechseln und den folgenden Befehl ausführen, um bei einem Update den neuesten Sourcecode aus dem Opencaching.de-Repository erhalten zu können: | |||
<nowiki>cd oc-server3 | |||
git remote add upstream git@github.com:OpencachingDeutschland/oc-server3</nowiki> | |||
Mit folgendem Befehl gibt es eine Übersicht über die verknüpften Repositorys, die (abgesehen vom Nutzernamen ‘Slini11’) wie in der Grafik aussehen müssen: | |||
<nowiki>git remote -v</nowiki> | |||
[[Image:Testumgebung Git 01.png]] | |||
Nun den Branch “development“ auschecken: | |||
<nowiki>git checkout development</nowiki> | |||
Und den Development-Branch auf aktuellen Stand bringen: | |||
<nowiki>git pull --rebase upstream development </nowiki> | |||
=== Weiterführende Informationen zu Git === | |||
Diese sind unter anderem im [[Entwicklung/Git|OC-Wiki]] zu finden | |||
== 3. DDEV Entwicklungsumgebung initalisieren == | |||
=== Entwicklungsumgebung zum ersten Mal starten === | |||
Zuerst in den Projektordner “oc-server3“ navigieren und dort die Installation der Testumgebung starten. | |||
==== Scripte einzeln ausführen ==== | |||
* ddev anstarten. Im Laufe dieses Prozesses wird die hosts-Datei automatisch angepasst. | |||
<nowiki>ddev start</nowiki> | |||
* Starten der Initialisierung der Testumgebung und der Datenbank: | |||
<nowiki>ddev init</nowiki> | |||
* Die Entwicklungsumgebung steht nun über den Browser bereit unter: | |||
https://opencaching.ddev.site | |||
bzw. | |||
https://try-opencaching.ddev.site | |||
Das Passwort für den Benutzer ''root'' lautet ''developer''. Das Passwort der anderen Benutzer (Benutzernamen siehe Datenbank) lautet ''password'' | |||
* Ein Mailpit steht nun über den Browser bereit (zumindest für den Legacy-Teil, für OC4 ist es noch nicht bestätigt) unter: | |||
https://opencaching.ddev.site:8026/ | |||
=== Entwicklungsumgebung ein weiteres Mal starten === | |||
Die Testumgebung kann neugestartet werden mit: | |||
<nowiki>ddev restart</nowiki> | |||
=== Entwicklungsumgebung stoppen === | |||
Die Testumgebung kann gestoppt werden mit: | |||
<nowiki>ddev stop</nowiki> | |||
=== Entwicklungsumgebung löschen === | |||
Die Testumgebung kann im Projektordner gelöscht werden mit: | |||
<nowiki>ddev delete --omit-snapshot</nowiki> | |||
Danach sind ein erneutes ''ddev start'' und ''ddev init'' notwendig. | |||
=== von DDEV angelegte Objekte löschen und Projekte aus der globalen DDEV-Liste löschen === | |||
<nowiki>ddev clean --all</nowiki> | |||
<nowiki>ddev stop --unlist opencaching</nowiki> | |||
=== xdebug in der Entwicklungsumgebung starten === | |||
<nowiki>ddev xdebug</nowiki> | |||
Ein ''ddev start'' oder ''ddev restart'' deaktiviert das xdebug wieder. | |||
=== Weitere ddev-Optionen.. === | |||
''ddev'' ohne Parameter aufrufen gibt eine Liste weiterer Optionen aus. | |||
<nowiki>ddev</nowiki> | |||
== 4. Die Testdatenbank füllen == | |||
Während der Installation wird eine Testdatenbank importiert, die bereits eine kleine Menge an Caches und Nutzern beinhaltet. Ein manueller Import des Datenbankdumps ist somit (seit März 2021) nicht mehr notwendig. | Während der Installation wird eine Testdatenbank importiert, die bereits eine kleine Menge an Caches und Nutzern beinhaltet. Ein manueller Import des Datenbankdumps ist somit (seit März 2021) nicht mehr notwendig. | ||
Für den Fall, dass trotzdem Daten exportiert / importiert werden sollen, können folgende Abschnitte berücksichtigt werden: | Für den Fall, dass trotzdem Daten exportiert / importiert werden sollen, können folgende Abschnitte berücksichtigt werden: | ||
=== Datenbank | === Login auf der Test-Datenbank im ddev-Container === | ||
<nowiki> | <nowiki>mysql -uroot -proot -hopencaching-db opencaching</nowiki> | ||
=== Datenbank innerhalb des | === Datenbank innerhalb des ddev-Containers exportieren === | ||
<nowiki>mysqldump -uroot -proot - | <nowiki>mysqldump -uroot -proot -hopencaching-db opencaching > file.sql</nowiki> | ||
=== Datenbank außerhalb des | === Datenbank außerhalb des ddev-Containers exportieren === | ||
<nowiki>mysqldump --complete-insert --user root -proot --host 0.0.0.0 opencaching > dump.sql</nowiki> | <nowiki>mysqldump --complete-insert --user root -proot --host 0.0.0.0 opencaching > dump.sql</nowiki> | ||
| Zeile 40: | Zeile 159: | ||
[[Image:Testumgebung DB 02.png]] | [[Image:Testumgebung DB 02.png]] | ||
=== Datenbank-Dump im phpStorm importieren === | === Datenbank-Dump im phpStorm importieren === | ||
| Zeile 59: | Zeile 172: | ||
== | == 5. Die Entwicklungs-IDE vorbereiten == | ||
Gegebenenfalls sind an der Programmierumgebung Änderungen vorzunehmen, um zum Beispiel [[OC Coding Style|einheitlich formatierten Code]] zu schreiben. | |||
[[ | === Einrichtung des PHP Coding Styles am Beispiel von phpStorm === | ||
Unter Settings / Code Style / PHP rechts auf “Set from…” klicken und “PSR-12” auswählen. Die Einstellung mit “Apply” bestätigen. | |||
(Weitere Informationen zum Coding Style sind [[OC Coding Style|hier im Wiki]] zu finden.) | |||
[[Image:Testumgebung IDE 01.png|500px]] | |||
[[Image:Testumgebung | === Symfony Pfade am Beispiel phpStorm anpassen === | ||
[[Image:Testumgebung IDE 04.jpeg]] | |||
== | === Terminalanpassung am Beispiel phpStorm (für Windows-Nutzer) === | ||
[[Image:Testumgebung IDE 05.png]] | |||
[[Image:Testumgebung IDE | |||
=== | === Datenbankanbindung in phpStorm aktivieren === | ||
- | Seit ddev als Umgebung genutzt wird, bietet sich das ddev-Plugin im phpStorm an. Es richtet z.B. den Zugang zur opencaching-Datenbank in der Testumgebung sowie weitere Einstellungen automatisch ein. | ||
Hierzu im phpStorm im Menü Datei/Einstellungen.. zum Abschnitt ''Plugins'' navigieren, im Suchfeld ''ddev'' eintippen und das Plugin installieren. | |||
[[Image:Testumgebung IDE 06.jpg]] | |||
=== Synchronisieren/Wiederherstellen der Benutzereinstellungen mittels JetBrains-Server === | === Synchronisieren/Wiederherstellen der Benutzereinstellungen mittels JetBrains-Server === | ||
| Zeile 95: | Zeile 207: | ||
== Das Fehlerhandbuch lesen (gilt insbesondere für die Schritte #1-#4 :wink:) == | == 6. Das Fehlerhandbuch lesen (gilt insbesondere für die Schritte #1-#4 :wink:) == | ||
Beireits bekannte Fehler werden im [[Entwicklungsumgebung/Fehlerhandbuch|Fehlerhandbuch]] beschrieben. | |||
[[Kategorie:Entwicklung|Entwicklungsumgebung ]] | |||