Hvordan gør du din egen tilpassede Redmine Docker-billede.

6/16/2020
9 minutter
Lukáš Beňa.
Redmine er et af de mest populære værktøjer til projektstyring og problemsporing. Hvis du har prøvet at installere i en produktionsomgivelse, ved du sandsynligvis også, at det er et officielt docker-billede, der er installeret og skalerbarhed for høj-efterspørgsel-omgivelser, der er meget nemmere.

Redmine før tilpasning

se ud: Redmine native docker kan findes op https://hub.docker.com/_/redmine. Her finder du gode instruktioner om, hvordan du kan bruge en ekstern database til at oprette en ekstern database (som plug-ins kan installeres).

Som du, net som jeg, koden til at bygge af en tilpasset Redmine Docker-billede direkte vil se, kan du github.com/lcofre/redmine gå en Dockerfile-fil gennemsyn.

Redmine Docker-billedet er et godt startpunkt, selvom du sandsynligvis vil tilpasse plug-ins og temaer til din smag. I denne manual vil vi bygge et Docker-billede på grundlag af den officielle version, enkelte temaer og plug-ins tilføjes og uploades til docker-registret.

For de envoud vil vi ingen ekstern database bruge, men en intern database i Redmine-containeren selv. For en produktionsomgivelse er det dog råd om en samlet opslagscontainer til at lægge.


Plug-ins og temaer

Vi har et par plug-ins og temaer valgt til forskellige måder, der illustreres på Redmine, der skal tilføjes:

  • Verberg sidebalk, et plug-in til at lave mere skærmrum, især ved at skrive problemer
  • Plak klembord, om skærmbilleder ved at tilføje en dør til at klistre fra klembord på plads for at vælge en fil
  • A1 en Gitmike, to temaer om det ydre af UI skal ændres

Vi lukker plug-ins til en database-migrering, fordi du har brug for en eksisterende database. Sidst nedenunder en kommentar bagefter, som du har et plug-in, skal der installeres, som migrationerne kræves, fordi vi har gode ideer til dig.


Skriver Dockerfile-filen

En Dockerfile er en recept til opbygning af et Docker-billede. Det første faktum, at vi her skal lære, er, at vi skal basere os på et andet billede, så vi vil det officielle billede for Redmine bruge

FRA Redmine

Denne første regel af Dockerfile-filen vil være billedbaseret på det nyeste og bedste billede, 4.1.0 på det tidspunkt, hvor du skriver. Fordi denne nye version er pakt, kan du vælge en specifik version, der skal bruges til uforudsete nye versioner, som kan afbryde byggeriet af dette billede

FRA Redmine: 4.1.0


Brug Git til at få de komponenter

I de fleste tilfælde har temaer og plugins git-repositories, hvor vi kan downloade den nyeste kode. Dette er tilfældet for de næste tørre komponenter.

Redmine-billedet bliver leveret uden git, men vi kan på denne måde tilføje et billede

KØR apt installation -y git

Dette udføres, når billedet er bygget og stiller dig i stand til at bruge de følgende instruktioner.

Gitmike-tema: ze raden aan om hun repo direct te klonen

Kør git klon https://github.com/makotokw/redmine-theme-gitmike.git offentlig / temaer / gitmike

Denne regel åbner projektet for det korrekte offentlige kort/temaer

Sidebar verbergen: Selvde proceduren kan anvendes på plugins. Dette kræver ikke mere, og det skal placeres på kortet i plugins-kortet

Kør git klon https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Udklipsholder-afbilleder steder: Det ligner også de typiske procedurer, der er, kloon de repo en je bent klar om at gå

Kør git klon https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Men som je en smule mere læst du kan se, at "hvordan en RMagick-gem skal installeres, ellers bliver tilføjede billeder ikke vist i eksporterede PDF-filer". Så hvordan gør vi det? Det skulle så enkelt være også

RUN perle installer rmagick

men du ved sandsynligvis, at en ædelsten skal bygges, før denne kan blive installeret, så skal du installere en pakke, før den er installeret. Den regel, du virkelig har brug for, er

Kør apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && perleinstallere rmagick

Allemaal i én opgave, fordelt over twee regler for læselighed.

Den oprindelige auteur af dette plugin tilbyder ingen version af Redmine 4, men en søg efter pluginnavnet i GitHub giver mig et projekt, der gør: RubyClickAP / clipboard_image_paste.


Et plugin af tema tilføje fra en downloadet bron

Het A1-tema er et godt eksempel på de tilfælde, der er illustreret, hvor du har en bron, men ingen URL til download af byggeprocessen. En mulighed i tilfælde, hvor denne er en bron til levering af byggeprocessen. På den måde bliver indholdet på billedet tilføjet uden denne download

KOPI a1 offentlig / temaer / a1

Her skal et a1-map på den samme plads stå som en Dockerfile-fil.

Nu er du klar til at bygge et billede, så åben en terminal, hvor din Dockerfile kan føres ud

docker build -t min-redmine.

Zodra er bygget, kan du udføre dit billede

docker run -it -p 3000: 3000 - navn min-redmine min-redmine

Gå til http://localhost:3000 for at se din tilpassede Redmine!

Redmine na tilpasning


Enkelte tips om flere plugins til at tilføje

Hvis nye plugins kan prøves, er de altid bedre til at bruge en ny Redmine-beholder. Så kom jeg til, hvor rmagick enkelte pakker skulle installeres. Voer først et wegwerpeksemplar af Redmine uit met

docker run --rm -d -p 3000: 3000 - navn test-redmine redmine

en ga derefter til instansen

docker udfører -det test-redmine bash

Du kan installere en OS-pakke, udføre ædelstensinstallationer af migrationer. Husk blot de trin, så du kan tilføje din dockerfil!


Du tilpasser uploadet billede til Docker Hub

Billedet, som du har bygget, er kun tilgængeligt for dine lokale omgivelser. Hvad er det som er tilgængeligt, vil vi gøre for andre, hvis vi siger for alle? Det er naturligvis kun en Dockerfile og relaterede filer, der uploades til en git-repo og kan blive interesseret i selv opbygningen. Men Docker står også om det byggede billede, hvor du kan registrere dig for at uploade det. Opret en konto på hub.docker.com og lav også et lager til dit billede. Log derefter ind på terminalen som følger

docker-login

Mærk billedet, så denne kan overføres til din repo

docker tag my-redmine: seneste lcofre / redmine: seneste

en push det som følger

docker push lcofre / redmine: seneste

De Docker-billeder i Docker-registeret

Nu kan alle have et billede, der er ude af forsøget, hvis det næste skal gøres

docker run -it -p 3000: 3000 - navn my-redmine lcofre / redmine

Det er det! Der er en standard Redmine-installation til en personlig version, der er tilgængelig i Docker-registret. Del også dine bemærkninger til spørgsmål nedenfor.


Formatet af Docker-afbilleder-værkleinen

Du skal mærke det Dockerfil i repoen veel regels heeft samengevoegd tot één. Dette er en anbefaling af Docker til at lave mindre billeder. Du kan råd og andre finde op https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Nog en anbefaling om den sidste størrelse af billedet og reduceret, er en alpine version af Redmine til at bruge

FRA Redmine: alpin

Alpine er en anden Linux-distribution. I stedet for apt skal du bruge pakken til at installere, skal du bruge apk.

Noget et sidste tip: de pakker, vi har installeret med apt i Dockerfilen, er ikke mere nødvendige, når billedet er bygget. Du kan de bedste praksis følge af brugen af ​​multi-stage builds: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

De praksis om en lille Docker-afbildning, der kan bevares, især ved hjælp af opskæring af et antal instanser, men formindsk også den overskydende overflade på billedet.

Den sidste Redmine-opgradering? Makkelijk.

Kryd alle kraftfulde værktøjer til perfekt projektplanlægning, -styring og -kontrol i én software.

Opdag Easy Redmine

Prøv Easy Redmine 30 dage gratis

Volledige funktioner, SSL-beveiligd, daglige backups, på din geografiske placering