Fork me on GitHub

Herr Knedel/Velké věci s kontejnery: KPI Dashboard

Created Mon, 21 Mar 2022 00:00:00 +0000 Modified Mon, 28 Mar 2022 18:19:54 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

369 Words

Zejména v éře Corona, kdy je práce decentralizovaná, jsou aktuální informace na všech místech velmi žádané. Sám jsem již nastavil nespočet informačních systémů a rád bych vám představil skvělý software s názvem Smashing.Mluvčí: https://smashing.github.io/Das Projekt Smashing byl původně vyvinut pod názvem Dashing společností Shopify pro prezentaci obchodních údajů. Samozřejmě však nelze zobrazovat pouze obchodní údaje. Vývojáři z celého světa vytvořili dlaždice Smashing, tzv. widgety, pro Gitlab, Jenkins, Bamboo, Jira atd., viz:https://github.com/Smashing/smashing/wiki/Additional-WidgetsDoch jak se s nimi pracuje?

Krok 1: Vytvoření základního obrazu

Nejprve vytvořím jednoduchý obraz Dockeru, který již obsahuje Ruby a Dashing.

x
+
Terminal

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

Toto je první obsah, který zapíšu do souboru 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

Poté vytvořím obraz Dockeru pomocí tohoto příkazu:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Takhle to vypadá u mě:

Krok 2: Vytvoření řídicího panelu

Nyní mohu vytvořit nový řídicí panel pomocí následujícího příkazu:

x
+
Terminal

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

Poté by měla složka “dashboard” v projektu Dashing vypadat takto: Velmi dobře! Nyní musím znovu aktualizovat soubor Docker. Nový obsah je následující:

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"]

Kromě toho je třeba upravit také soubor Gemfile ve složce “dashboard”:

source 'https://rubygems.org'

gem 'smashing'
gem 'puma'

Zopakuji příkaz build:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Nyní mohu poprvé spustit nový řídicí panel a přistupovat k němu na adrese http://localhost:9292.
x
+
Terminal

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

A takhle to vypadá: To je základ dobrého informačního systému. Můžete si přizpůsobit všechny barvy, skripty a widgety.