Projekt

Obecné

Profil

Akce

Instalační dokumentace » Historie » Revize 26

« Předchozí | Revize 26/27 (rozdíl) | Další »
Martin Lácha, 2021-05-21 11:49


Instalační dokumentace

Vývojové prostředí

  • Pro vývoj byl použito vývojové prostředí InteliJ IDEA Ultimate
  • Pro zprovoznění projektu na lokálním zařízení je ještě potřeba instalace npm a ng cli
  • Návod na zprovoznění vývojového prostředí zde

Nasazení

Pro nasazení webové aplikace se používá Docker. Docker slouží pro spuštění aplikace v izolovaném prostředí. Konfigurace Dockeru se nacházi ve složce Dockerfile. Pro vytvoření nového container a jeho nasazením se zadá následující příkaz:

docker compose up --build --force-recreate

Dockerfile

FROM node:15.14.0-alpine3.10 AS angularApp
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm run build

FROM nginx:1.19.6-alpine
COPY nginx.conf /etc/nginx/nginx.conf
COPY --from=angularApp /usr/src/app/dist/SensLog /usr/share/nginx/html

Změna URL

Pro změnu cílové IP adresy je potřeba změnit údaje v souboru proxy-config.json a nginx.conf. Soubor proxy-config.json se používá, pokud je aplikace spuštěna pomocí příkazu npm run start na lokálním zařízení. Pokud je aplikace spuštěna na produkčním serveru, přesměrování requestů se řídí, podle souboru nginx.conf.

proxy-config.json

Pro změnu IP adresy webové aplikace na lokálním zařízení se změní položka target.

{
  "/analytics": {
    "target": "http://51.15.45.95:9090",
    "secure": false
  },
  "/senslog15": {
    "target": "http://51.15.45.95:8080",
    "secure": false
  }
}

nginx.conf

Pro změnu cílové IP adresy webové aplikace, nasazené na produkčním serveru, se změní adresa u položky proxy_pass.

location /analytics {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #proxy_pass http://<ContainerName>:<PortNumber>;
    # In our case Container name is as we setup in docker-compose `beservice` and port 8080
    proxy_pass http://51.15.45.95:9090;
    proxy_max_temp_file_size "1024m";
    proxy_read_timeout       "60s";

    add_header X-Frame-Options SAMEORIGIN always;
    }

location /senslog15 {
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    #proxy_pass http://<ContainerName>:<PortNumber>;
    # In our case Container name is as we setup in docker-compose `beservice` and port 8080
    proxy_pass http://51.15.45.95:8080;
    proxy_max_temp_file_size "1024m";
    proxy_read_timeout       "60s";

    add_header X-Frame-Options SAMEORIGIN always;
    }

Automatické testy

Testy se pouští příkazem:

protractor protractor.conf.js ve slozce ./e2e

Po zadání tohoto příkazu jsou spuštěny všechny testy, co jsou definovány v protractor.conf.js pod atributem 'specs' (aktuálně se spouští testy ve složce /e2e/src/**, které se jmenují *.e2e-spec.ts)

Testovací scénaře

  • Zobrazení přihlašovacího formuláře
  • Přihlášení do aplikace
  • Zobrazení dashboardu po přihlášení
  • Přidaní nového uživatele
  • Přidání nové jednotky se senzorem
  • Přidání senzoru
  • Editace senzoru
  • Odstranění senzoru
  • Přidání nové pozice pro jednotku
  • Editace jednotky
  • Odstranění jednotky
  • Zobrazení grafu sensoru (graf senzoru se zobrazí, změna časového intervalu, zobrazení agregace a tlačítka pro získání dat)
  • Zobrazení grafu jednotky (graf jednotky se zobrazí pro každý typ sensorů, změna časového intervalu, zobrazení agregare a tlačítka pro získání dat)

Aktualizováno uživatelem Martin Lácha před více než 3 roky(ů) · 26 revizí