Fork me on GitHub

Herr Knedel/Veľké veci s kontajnermi: KPI Dashboard

Created Mon, 21 Mar 2022 00:00:00 +0000 Modified Sat, 02 Apr 2022 16:14:29 +0000 Úroveň obtiažnosti: Môže to trvať trochu dlhšie

373 Words

Najmä v ére Corona s decentralizovanou prácou sú aktuálne informácie na všetkých miestach veľmi potrebné. Sám som už vytvoril nespočetné množstvo informačných systémov a rád by som vám predstavil skvelý softvér s názvom Smashing.Prednášajúci: https://smashing.github.io/Das Projekt Smashing bol pôvodne vyvinutý pod názvom Dashing spoločnosťou Shopify na prezentáciu obchodných údajov. Samozrejme však nemôžete zobrazovať len obchodné údaje. Vývojári z celého sveta vyvinuli dlaždice Smashing, tzv. widgety, pre Gitlab, Jenkins, Bamboo, Jira atď., pozri:https://github.com/Smashing/smashing/wiki/Additional-WidgetsDoch ako sa s nimi pracuje?

Krok 1: Vytvorenie základného obrazu

Najprv vytvorím jednoduchý obraz Docker, ktorý už obsahuje Ruby a Dashing.

x
+
Terminal

$ mkdir dashing-project
$ cd dashing-project
$ mkdir dashboard
$ vim Dockerfile

Toto je prvý obsah, ktorý zapíšem do súboru Dockerfile:

From ubuntu:latest
 
ENV TZ=Europe/Berlin
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

COPY dashboard/ /code/

RUN apt-get update && apt-get install -y ruby wget unzip ruby-dev build-essential tzdata nodejs && \
gem install smashing && \
apt-get clean

Potom vytvorím obraz Docker pomocou tohto príkazu:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Takto to vyzerá pre mňa:

Krok 2: Vytvorenie prístrojovej dosky

Teraz môžem vytvoriť nový ovládací panel pomocou nasledujúceho príkazu:

x
+
Terminal

$ docker run -it -v /path/to/my/dashing-project:/code my-dashboard:latest smashing new dashboard

Potom by mal priečinok “dashboard” v projekte Dashing vyzerať takto: Veľmi dobre! Teraz musím znovu aktualizovať súbor Docker. Nový obsah je tento:

From ubuntu:latest
 
ENV TZ=Europe/Berlin
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
 
COPY dashboard/ /code/
 
RUN apt-get update && apt-get install -y ruby wget unzip ruby-dev build-essential tzdata nodejs && \
gem install smashing && \
gem install bundler && \
apt-get clean
 
RUN cd /code/ && \
bundle
 
RUN chown -R www-data:www-data  /code/

USER www-data
WORKDIR /code/

EXPOSE 3030

CMD ["/usr/local/bin/bundle", "exec", "puma", "config.ru"]

Okrem toho je potrebné upraviť aj súbor Gemfile v priečinku “dashboard”:

source 'https://rubygems.org'

gem 'smashing'
gem 'puma'

Zopakujem príkaz na zostavenie:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Teraz môžem prvýkrát spustiť svoj nový prístrojový panel a získať k nemu prístup na adrese http://localhost:9292.
x
+
Terminal

$ docker run -it -p 9292:9292 my-dashboard:latest

A takto to vyzerá: To je základom dobrého informačného systému. Môžete si prispôsobiť všetky farby, skripty a widgety.