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.
$ mkdir dashing-project
$ cd dashing-project
$ mkdir dashboard
$ vim 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
Sedan skapar jag Docker-avbildningen med det här kommandot:
$ docker build -t my-dashboard:latest .
Steg 2: Skapa en instrumentpanel
Nu kan jag skapa en ny instrumentpanel med följande kommando:
$ docker run -it -v /path/to/my/dashing-project:/code my-dashboard:latest smashing new dashboard
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:
$ docker build -t my-dashboard:latest .
$ docker run -it -p 9292:9292 my-dashboard:latest
Detta är grunden för ett bra informationssystem. Du kan anpassa alla färger, skript och widgets.