Fork me on GitHub

Herr Knedel/Stora saker med behållare: KPI Dashboard

Created Mon, 21 Mar 2022 00:00:00 +0000 Modified Sat, 02 Apr 2022 16:28:47 +0000 Rekommendationer: Det kan ta lite längre tid

376 Words

Särskilt i Corona-eran, med decentraliserat arbete, är det viktigt att ha aktuell information på alla platser. Jag har själv redan inrättat otaliga informationssystem och skulle vilja presentera en fantastisk programvara som heter Smashing.Speaker: https://smashing.github.io/Das Smashing-projektet utvecklades ursprungligen under namnet Dashing av företaget Shopify för att presentera affärssiffror. Men du kan naturligtvis inte bara visa affärssiffror. Utvecklare från hela världen har utvecklat så kallade widgets för Gitlab, Jenkins, Bamboo, Jira etc., se:https://github.com/Smashing/smashing/wiki/Additional-WidgetsDoch Hur arbetar du med det?

Steg 1: Skapa en basbild

Först skapar jag en enkel Docker-avbildning som redan innehåller Ruby och Dashing.

x
+
Terminal

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

Detta är det första innehållet jag skriver i Dockerfile-filen:

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

Sedan skapar jag Docker-avbildningen med det här kommandot:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Så här ser det ut för mig:

Steg 2: Skapa en instrumentpanel

Nu kan jag skapa en ny instrumentpanel med följande kommando:

x
+
Terminal

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

Därefter bör mappen “dashboard” i Dashing-projektet se ut så här: Mycket bra! Nu måste jag uppdatera Dockerfilen igen. Det nya innehållet är följande:

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

Dessutom måste Gemfile-filen i mappen “dashboard” anpassas:

source 'https://rubygems.org'

gem 'smashing'
gem 'puma'

Jag upprepar byggkommandot:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Nu kan jag starta min nya instrumentpanel för första gången och komma åt den på http://localhost:9292.
x
+
Terminal

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

Och så här ser det ut: Detta är grunden för ett bra informationssystem. Du kan anpassa alla färger, skript och widgets.