Node.js
Die Deploio-Build-Umgebung nutzt das Paketo Node.js Buildpack auf dem Paketo-Stack und das Heroku Node.js Cloud Native Buildpack auf dem Heroku-Stack. Weitere Informationen findest du unter Buildpack-Stacks.
Beispiel-App
Eine einfache Next.js App zeigen wir in unserem
Beispiele-Repository. Du
kannst diese mit nctl deployen:
- Heroku Stack
- Paketo Stack
nctl create application nextjs \
--git-url=https://github.com/ninech/deploio-examples \
--git-sub-path=heroku-stack/nodejs/nextjs
nctl create application nextjs \
--buildpack-stack=paketo \
--git-url=https://github.com/ninech/deploio-examples \
--git-sub-path=paketo-stack/nodejs/nextjs
Paketo-Stack-Konfiguration
Der Build-Prozess bietet einige Umgebungsvariablen, mit deren Hilfe du ihn an deinen Use-Case anpassen kannst. Eine Auflistung aller verfügbaren Variablen findest du im Abschnitt Anleitungen der Dokumentation.
Eine App in einem Unterverzeichnis erstellen
Um ein Unterverzeichnis zu definieren, welches als Root für die App dienen soll,
kannst du die Build-Variable BP_NODE_PROJECT_PATH verwenden.
--build-env=BP_NODE_PROJECT_PATH="./node-app"
NextJS
In bestimmten Szenarien, wie bei der Verwendung des NextJS-Routers, sind jedoch zusätzliche Schritte erforderlich, um deine Applikation zu erstellen.
NODE_ENV
Bei Verwendung des Paketo-Stacks muss die Umgebungsvariable NODE_ENV
explizit als production definiert werden, um einen erfolgreichen Build
sicherzustellen. Diese Anforderung resultiert aus einem bestehenden Problem im
Upstream, das nicht behoben werden kann.
nctl create app next --git-url=<url> --build-env=NODE_ENV="production" --env=NODE_ENV="production"
Bei Verwendung des Heroku-Stacks ist dies nicht erforderlich.