Instalační dokumentace » Historie » Revize 24
Revize 23 (Martin Lácha, 2021-05-21 11:39) → Revize 24/27 (Martin Lácha, 2021-05-21 11:42)
h1. Instalační dokumentace * Projekt je dostupný na GitLabu - https://gitlab.kiv.zcu.cz/aswi/aswi-2021/aswi2021codebakers h2. Vývojové prostředí * Pro vývoj byl použito vývojové prostředí "InteliJ IDEA Ultimate":https://www.jetbrains.com/idea/promo/?gclid=Cj0KCQjws-OEBhCkARIsAPhOkIbej00sYN_FB9hUW6O_OUJ1dLUszkJKbcQJ5oUFsUHogGhV2-5aUwcaAiCoEALw_wcB * Pro zprovoznění projektu na lokálním zařízení je ještě potřeba instalace "npm":https://www.npmjs.com/get-npm a "ng cli":https://angular.io/cli * Návod na zprovoznění vývojového prostředí "zde":https://gitlab.kiv.zcu.cz/aswi/aswi-2021/aswi2021codebakers/-/blob/master/README.md h2. 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: <pre><code class="text"> docker compose up --build --force-recreate </code></pre> h3. Dockerfile <pre><code class="text"> 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 </code></pre> h2. 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í . *nginx.conf* h3. proxy-config.json <pre><code class="json"> { "/analytics": { "target": "http://51.15.45.95:9090", "secure": false }, "/senslog15": { "target": "http://51.15.45.95:8080", "secure": false } } </code></pre> h3. nginx.conf <pre><code class="text"> 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; } </code></pre> h2. Automatické testy Testy se pouští příkazem: <pre><code class="text"> protractor protractor.conf.js ve slozce ./e2e </code></pre> 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) h3. 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)