Fork me on GitHub

Herr Knedel/Store ting med containere: KPI Dashboard

Created Mon, 21 Mar 2022 00:00:00 +0000 Modified Tue, 29 Mar 2022 17:04:54 +0000 Schwierigkeitsgrad: Es kann etwas länger dauern

374 Words

Især i Corona-æraen med decentraliseret arbejde er der stor efterspørgsel efter opdaterede oplysninger alle steder. Jeg har selv allerede oprettet utallige informationssystemer og vil gerne præsentere en fantastisk software kaldet Smashing.Speaker: https://smashing.github.io/Das Smashing-projektet blev oprindeligt udviklet under navnet Dashing af virksomheden Shopify til præsentation af forretningstal. Men du kan naturligvis ikke bare vise forretningstal. Udviklere fra hele verden har udviklet Smashing-tiles, såkaldte widgets, til Gitlab, Jenkins, Bamboo, Jira osv., se:https://github.com/Smashing/smashing/wiki/Additional-WidgetsDoch Hvordan arbejder du med det?

Trin 1: Opret basisbillede

Først opretter jeg et simpelt Docker-aftryk, der allerede indeholder Ruby og Dashing.

x
+
Terminal

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

Dette er det første indhold, jeg 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

Derefter opretter jeg Docker-aftrykket med denne kommando:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Sådan ser det ud for mig:

Trin 2: Opret dashboard

Nu kan jeg oprette et nyt dashboard med følgende kommando:

x
+
Terminal

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

Herefter skal mappen “dashboard” i Dashing-projektet se sådan ud: Meget godt! Nu er jeg nødt til at opdatere Dockerfilen igen. Det nye indhold er følgende:

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

Desuden skal Gemfile-filen i mappen “dashboard” også tilpasses:

source 'https://rubygems.org'

gem 'smashing'
gem 'puma'

Jeg gentager byggekommandoen:

x
+
Terminal

$ docker build -t my-dashboard:latest .

Nu kan jeg starte mit nye instrumentbræt for første gang og få adgang til det på http://localhost:9292.
x
+
Terminal

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

Og sådan ser det ud: Dette er grundlaget for et godt informationssystem. Du kan tilpasse alle farver, scripts og widgets.