Website - Go live

Aus Wikizone
Wechseln zu: Navigation, Suche

Früher war der Go live im Prinzip immer gleich. Website Files per FTP oder SSH auf den Serverspielen und Datenbank per SSH, phpMyAdmin oder anderen Tools hochspielen.

Durch neue Arbeitsweisen und Tools wie Webpack, Docker etc. hat sich auch das Deployment verändert.

Webpack build[Bearbeiten]

Wenn mit einem Bundler wie Webpack gearbeitet wird, muss man den Bundler anweisen zunächst eine Distribution zu erstellen. Dabei kann der Bundler einige Aufgaben übernehmen: TypeScript in JavaScript umwandeln, Sass/Less Dateien kompilieren und vieles mehr.

Terminal:

npm run build

This command will run the script located in the /package.json file in the scripts > build property.

Wait a few seconds and the files should be available in the /dist/ folder which will be created when build is executed. You can then put those files online using your favorite FTP client.

Whenever you want to upload a new version, run npm run build again even if the /dist/ folder already exists.

Vercel / Netlify / Github Pages[Bearbeiten]

Vercel as an Example for modern deployment and testing

Vercel[Bearbeiten]

Vercel is one of those "modern" hosting solutions and features continuous integration (automatisation of testing, deployment and others development steps like this). It is very developer friendly and easy to setup.

You can use it for complex projects, but also for very simple "single page" websites like the ones we create within this course.

Vercel mit Webpack nutzen[Bearbeiten]

Quickstart[Bearbeiten]

Im Terminal einmalig

 npm install vercel

oder auch mit -g global

package.json einmalig anpassen

"deploy": "vercel --prod"

im scripts Teil hinzufügen

Ab sofort im Terminal über

npm run deploy

Veröffentlichen

Wie funktioniert Vercel[Bearbeiten]

Vercel kann im Prinzip den build Process Online erledigen und bietet einige Zusatzfunktionen. Auch Domains kann man verbinden etc. Vercel Modul als Dependency einbinden (lokal oder mit -g Global). Das Modul ist ein CLI (CommandLineInterface) um mit Vercel zu kommunizieren

npm install vercel

Im package.json Skript legen wir unter script eine neue Zeile - z.B, mit Namen deploy an:

   "scripts": {
    "build": "webpack --config ./bundler/webpack.prod.js",
    "dev": "webpack serve --config ./bundler/webpack.dev.js",
    "deploy": "vercel --prod"
  },

Jetzt steht für npm run die Option deploy zur Verfügung

npm run deploy

Vercel fragt beim ersten mal nach wie wir uns verbinden möchten (per E-Mail Login, Github...). Dann kann sich die cli einloggen.

Which scope do you want to deploy to? kholja

Man kann in Vercel mehrere Scopes anlegen, wir haben nur den Standardscope (Benutzername)

? Link to existing project? [y/N] n

Man kann Projekte anlegen wenn man möchte und den deploy einem zuordnen. Ansonsten wird ein neues angelegt.

? What’s your project’s name? donuts-3d-text

Achtung muss lowercase und ohne Leerzeichen sein.

? In which directory is your code located? ./

In unserem Fall sind wir schon im Hauptverzeichnis der Anwendung

No framework detected. Default Project Settings:

Wenn Vercel ein Framework wie React erkennt gibt er gleich passende Einstellungen vor. Hier zeigt er uns Standardwerte an.

- Build Command: `npm run vercel-build` or `npm run build`
- Output Directory: `public` if it exists, or `.`
- Development Command: None
? Want to override the settings? [y/N] y

Der Zweite Wert passt nicht unser Projekt liegt nach einem npm build im Ordner dist. Das kann man nun anpassen. Wenn mal ein Fehler passiert,geht das auch noch online bei Vercel.

Am Ende werden alle Daten hochgeladen. Der Build Prozess findet direkt bei Vercel statt. Vercel fügt zum eigenen Projekt eigentlich nur eine Projekt ID hinzu.