Sprachen- und Framework-Handbü...
AngularJS-App Dockerisierung und Bereitstellung auf Back4App
21 min
back4app containers ist eine leistungsstarke plattform zum hosten von angularjs anwendungen mit der fähigkeit, dockerisierte angularjs apps automatisch bereitzustellen, können sie ihr projekt in einer skalierbaren und flexiblen umgebung mit leichtigkeit starten in diesem leitfaden führen wir sie durch den prozess der vorbereitung und bereitstellung ihrer angularjs anwendung auf back4app containers, wobei wir alles von einfachen projekten bis hin zu komplexeren setups abdecken wir beginnen mit den notwendigen vorbereitungen, gehen dann zur dockerisierung der anwendung über, testen sie lokal, pushen das projekt zu github, richten das projekt auf back4app containers ein, überwachen die bereitstellung und beheben häufige probleme wenn sie fragen oder anmerkungen haben, können sie gerne an der diskussion im #containers kanal in der back4app community auf slack teilnehmen sie können uns jederzeit auch unter community\@back4app com kontaktieren wenn sie jederzeit ein funktionierendes beispielprojekt für angularjs auf back4app containern überprüfen möchten, gehen sie zu https //github com/templates back4app/containers angularjs sample https //github com/templates back4app/containers angularjs sample 1 vorbereiten sie ihre angularjs anwendung a projektstruktur überprüfen sie, ob ihre angularjs anwendung einer ordnungsgemäßen verzeichnisstruktur folgt, mit allen notwendigen dateien und ordnern, wie app , components , und assets , die angemessen organisiert sind der haupteinstiegspunkt für ihre anwendung sollte die app js datei sein b abhängigkeiten überprüfen sie, ob alle erforderlichen abhängigkeiten in der package json datei aufgeführt sind, einschließlich ihrer korrekten versionen stellen sie sicher, dass sie alle abhängigkeiten mit npm install oder yarn install installiert haben, um eine package lock json oder yarn lock datei zu generieren c build prozess für komplexere projekte, die einen build prozess beinhalten, stellen sie sicher, dass ihre build skripte und konfigurationen (z b webpack, gulp oder grunt) ordnungsgemäß eingerichtet sind sie sollten in der lage sein, den build prozess lokal ohne probleme auszuführen d umgebungsvariablen wenn ihre anwendung auf umgebungsvariablen angewiesen ist, stellen sie sicher, dass sie eine env datei mit den erforderlichen definierten variablen haben bei der bereitstellung auf back4app containers müssen sie diese umgebungsvariablen in den bereitstellungseinstellungen konfigurieren e server setup (falls zutreffend) wenn ihre angularjs anwendung einen benutzerdefinierten server (z b express) enthält, stellen sie sicher, dass er korrekt eingerichtet und konfiguriert ist, um ihre angularjs anwendung bereitzustellen testen sie ihren server lokal, um sicherzustellen, dass er wie erwartet funktioniert f anwendungsoptimierung optimieren sie ihre angularjs anwendung, indem sie die bundle größen minimieren, code splitting verwenden und bewährte verfahren zur leistungsoptimierung umsetzen verwenden sie tools wie lighthouse, um ihre anwendung zu überprüfen und etwaige leistungs oder zugänglichkeitsprobleme zu beheben g browserkompatibilität testen sie ihre anwendung in mehreren browsern und auf verschiedenen geräten, um eine ordnungsgemäße darstellung und funktionalität sicherzustellen sobald sie ihre angularjs anwendung gründlich überprüft und vorbereitet haben, können sie mit dem nächsten schritt fortfahren, der darin besteht, ein dockerfile für ihr projekt zu erstellen 2 dockerisierung die dockerisierung einer angularjs anwendung umfasst die erstellung eines dockerfiles im stammverzeichnis ihres projekts das dockerfile enthält anweisungen zum erstellen eines docker images ihrer anwendung, das dann in back4app containern bereitgestellt werden kann hier ist eine detaillierte erklärung, wie sie ein dockerfile für eine reguläre angularjs anwendung erstellen 1 erstellen sie eine neue datei mit dem namen dockerfile (ohne dateierweiterung) im stammverzeichnis ihrer angularjs anwendung 2 definieren sie das basis image beginnen sie das dockerfile, indem sie ein basis image mit dem befehl from angeben für eine typische angularjs anwendung sollte das basis image ein node js image sein, z b node 14 oder node 16 from node 14 3 setzen sie das arbeitsverzeichnis verwenden sie den befehl workdir, um das arbeitsverzeichnis für ihre anwendung innerhalb des docker containers festzulegen hier werden ihre anwendungsdateien gespeichert und ausgeführt workdir /app 3 kopiere package json und package lock json kopiere die dateien package json und package lock json von deinem lokalen rechner in den docker container mit dem copy befehl diese dateien sind erforderlich, um die abhängigkeiten deiner anwendung zu installieren copy package json / 4 abhängigkeiten installieren verwende den run befehl, um die abhängigkeiten deiner anwendung aus der package json datei zu installieren dies geschieht typischerweise mit npm ci, das die genauen abhängigkeitsversionen installiert, die in der package lock json datei angegeben sind run npm ci 5 kopiere den rest der projektdateien verwende erneut den copy befehl, um die verbleibenden dateien und ordner von deinem lokalen rechner in den docker container zu kopieren copy 6 baue die angularjs anwendung füge einen run befehl hinzu, um deine angularjs anwendung mit deinem build skript zu bauen, typischerweise npm run build dies erzeugt eine produktionsbereite version deiner angularjs anwendung im dist ordner run npm run build 7 konfiguriere den server du benötigst einen server, um deine gebaute angularjs anwendung bereitzustellen eine gängige wahl ist nginx zuerst setze das basis image für nginx from nginx 1 21 alpine 8 kopiere die gebaute angularjs anwendung verwende den copy befehl, um die gebaute angularjs anwendung aus der vorherigen phase in das nginx html verzeichnis zu kopieren copy from=0 /app/dist /usr/share/nginx/html 9 öffne den serverport verwende den expose befehl, um den port anzugeben, auf dem dein server innerhalb des docker containers läuft zum beispiel kannst du port 80 verwenden expose 80 10 starte den server der cmd befehl ist in diesem fall nicht erforderlich, da der standard cmd befehl für das nginx 1 21 alpine image den server startet die vollständige dockerfile für eine reguläre angularjs anwendung sollte so aussehen from node 14 as builder workdir /app copy package json / run npm ci copy run npm run build from nginx 1 21 alpine copy from=builder /app/dist /usr/share/nginx/html expose 80 beispiel 1 from node 14 workdir /app copy package json / run npm ci copy run npm run build from nginx\ alpine copy from=0 /app/dist /usr/share/nginx/html expose 80 cmd \["nginx", " g", "daemon off;"] beispiel 2 angularjs anwendung mit einem benutzerdefinierten server from node 14 workdir /app copy package json / run npm ci copy run npm run build from node 14 workdir /app/server copy server/package json / run npm ci copy server/ env node env production env port 8000 expose 8000 cmd \["npm", "start"] 4 testen sie ihr projekt lokal bevor sie ihre angularjs anwendung auf back4app containern bereitstellen, ist es wichtig, sie lokal mit docker zu testen dies hilft sicherzustellen, dass ihre anwendung wie erwartet funktioniert und hilft ihnen, probleme vor der bereitstellung zu identifizieren und zu beheben bauen sie das docker image für ihre angularjs anwendung navigieren sie in ihrem terminal zum stammverzeichnis ihres projekts und führen sie den folgenden befehl aus, wobei sie your app name durch den namen ihrer anwendung ersetzen docker build t your app name führen sie den docker container lokal aus führen sie als nächstes den folgenden befehl aus, um den docker container lokal zu starten dieser befehl mappt den freigegebenen port des containers (z b 80) auf einen port auf ihrem lokalen computer (z b 3000) docker run p 3000 80 your app name testen sie ihre anwendung öffnen sie einen webbrowser und navigieren sie zu http //localhost 3000 http //localhost 3000/ , um ihre angularjs anwendung anzuzeigen stellen sie sicher, dass alles wie erwartet funktioniert wenn sie auf probleme stoßen, beheben sie diese, bevor sie mit dem nächsten schritt fortfahren 5 pushen sie ihr projekt zu github erstellen sie eine gitignore datei im stammverzeichnis ihres projekts, um unnötige oder sensible dateien aus ihrem repository auszuschließen (z b node modules , env , dist , usw ) initialisieren sie ein git repository, committen sie ihre projektdateien und pushen sie sie in ein remote repository (z b auf github) gitcopy codegit add git commit m "initial commit" git remote add origin \<your remote repo url> git push u origin master``` 6 deployen sie ihre anwendung auf back4app containern nachdem sie ihr back4app konto erstellt haben, können sie die in den docs aufgeführten schritte befolgen 1 verbinden sie ihr github repo mit back4app https //www back4app com/docs containers/integrate with github 2 bereiten sie ihr projekt für die bereitstellung vor https //www back4app com/docs containers/prepare your deployment zusammenfassend werden container den anweisungen folgen, die in ihrer dockerfile detailliert sind, und beginnen, ihre app zu erstellen 7 überwachen sie die bereitstellung und beheben sie mögliche fehler behalten sie die bereitstellungsprotokolle und den status im back4app containers dashboard im auge beheben sie alle fehler oder probleme, die während der bereitstellung auftreten bei komplexeren projekten stellen sie sicher, dass alle erforderlichen dienste (wie datenbanken oder externe apis) korrekt konfiguriert und zugänglich sind 8 fehlerbehebung bei häufigen problemen häufige bereitstellungsfehler beim ausführen einer angularjs app auf back4app containers sind hier https //www back4app com/docs containers/troubleshooting weitere mögliche häufige fehler bei der bereitstellung einer angularjs anwendung sind falsche portkonfiguration angularjs anwendungen sollten so konfiguriert sein, dass sie beim bereitstellen auf back4app containers auf einem bestimmten port ausgeführt werden wenn die anwendung weiterhin nicht zugänglich ist, überprüfen sie die dockerfile, um sicherzustellen, dass der richtige port freigegeben ist (z b expose 3000 für port 3000) inkompatible oder fehlende abhängigkeiten stellen sie sicher, dass alle erforderlichen abhängigkeiten in der package json datei aufgeführt sind und dass ihre versionen miteinander und mit ihrem anwendungscode kompatibel sind fehlende oder inkompatible abhängigkeiten können zu laufzeitfehlern führen ungültige umgebungsvariablen oder konfiguration überprüfen sie, ob ihre anwendung auf spezifische umgebungsvariablen oder konfigurationsdateien angewiesen ist, und stellen sie sicher, dass diese im back4app containers umfeld korrekt eingerichtet sind setzen sie alle erforderlichen umgebungsvariablen in ihrer dockerfile mit dem befehl env anwendungsabstürze oder unbehandelte ausnahmen unbehandelte ausnahmen oder abstürze in ihrem angularjs anwendungscode können zu bereitstellungsfehlern oder unerwartetem verhalten führen überprüfen sie ihre anwendungsprotokolle auf fehlermeldungen und beheben sie alle probleme in ihrem code überprüfen sie die containerprotokolle, indem sie docker logs your app name ausführen, um zu sehen, ob fehler oder ausnahmen auftreten verwenden sie ein tool wie sentry, um fehler in ihrer anwendung zu verfolgen und zu überwachen konfiguration des serverseitigen renderings wenn ihre angularjs anwendung serverseitiges rendering (ssr) verwendet, stellen sie sicher, dass ihre ssr konfiguration in ihrer dockerfile korrekt eingerichtet ist und dass sie ihre anwendung mit dem richtigen einstiegspunkt startet wenn sie beim bereitstellen ihrer angularjs anwendung auf back4app containers auf andere probleme stoßen, wenden sie sich an das back4app supportteam unter community\@back4app com https //chat openai com/c/b00b65dc 4fb1 47b6 bcf7 3accf1b14587 9 skalieren sie ihre anwendung für komplexere projekte, die zusätzliche ressourcen oder horizontale/vertikale skalierung erfordern, sollten sie in betracht ziehen, ihren back4app containers plan zu aktualisieren, um erhöhten verkehr und last zu bewältigen 10 beispielanwendung für ein beispielprojekt einer angularjs anwendung können sie gehen zu https //github com/templates back4app/containers angular sample https //github com/templates back4app/containers angular sample https //github com/templates back4app/containers angular sample https //github com/templates back4app/containers angular sample