Hur du skaber dit tilpassede Redmine Docker-billede

6/16/2020
8 minutter
Lukáš Beňa.
Redmine er en af ​​de mest populære værktøjer til projektledning og håndtering. Hvis du har bevist det eller var tvungen at installere det i en produktionsmiljø, og du sandsynligvis også, at det findes et officielt dockerbillede som i høj grad af forenklar installation og skalningen for højtrafikmiljøer.

Redmine innan anpassning

Bemærk: Redmine nativ docker kan findes på https://hub.docker.com/_/redmine. Her kan du også finde bh-instruktioner om, hvordan du udfylder en ekstern database og monterer eksterne mappar (for at kunne installere tillæg).

Om du er som jeg og fødder, at du direkte skal kode for at bygge en tilpasset Redmine Docker-billede, kan du gå til github.com/lcofre/redmine og kolla på Dockerfilen.

Redmine Docker-billeder er et bra utgångspunkt, også om du sandsynligvis vil tilpasse den med tillæg og emner, som du kan lide. I den her håndledning kommer vi at bygge et Docker-billede baseret på den officielle erklæring, læg til nogle hæfter og tillæg, og lad op til docker-registret.

For enkelhedens skull kommer vi ikke at bruge en ekstern database uden en intern database i Redmine-beholderen selv. For en produktionsmiljø anbefaler det dog at konfigurere og dedikeret lagringsbeholder.


Tillæg og tema

Vi har valgt nogle tillæg og temaer for at illustrere forskellige måder at tilføje til dem i Redmine:

  • Dölj sidofältet, et tillæg som giver mere skærmrum, især når du skriver erenden
  • Klistra in från urklipp, for at bifoga skærmbilleder genom at klistra i fra urklippet i stedet for at vælge en fil
  • A1 og Gitmike, to temaer for at ændre udseendet på grænsesnittet

Vi uteslutter tillæg som kræver en databasmigrering, eftersom du behøver en eksisterende database. Kommenter nedenfor om du skal installere et tillæg som behov for migration, eftersom vi har idéer for dig.


Skriva Dockerfilen

En Dockerfil er en recept på hvordan man bygger en Docker-billede. Det første faktum, vi kommer til at lære os, er at vi skal basere vores billede på et andet billede, så vi kommer til at bruge den officielle for Redmine

FRA Redmine

Denne første rad i Dockerfilen kommer til at basere vores billede på den seneste og bedste billede, 4.1.0 ved skrivendets tidpunkt. Da dette kommer til at hente hvilken version, som er senast, kan du bruge en specifik version for at undgå at vente nye versioner, som kan afbryde byggeandet af dette billede

FRA Redmine: 4.1.0


Brug Git til at hente komponenter

I de fleste fald har temaer og tillæg git-repositorier, hvor vi kan hente den seneste koden. Dette gælder for følgende tre komponenter.

Basbilleder for Redmine kommer uden git, men vi kan tilføje til det i billedet på følgende måde

KØR apt installation -y git

Dette kommer til at køre, når billedet bygger og kommer til at gøre det ved at bruge git i følgende instruktioner.

Gitmike-tema: de anbefaler att klona sitt repo direkt

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

Raden kommer at spare det klonade projekt i ret mapp public/themes

Dölj sidofältet: Samma procedure kan tillämpas på tillägg. Dette kræver intet mere end at placere klonade kort i tillægsmappen

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

Klistra i billeder fra urklipp: Dette virker også som den almindelige procedure, klona repoet og du er redo at gå

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

Men om du læser lite mer så ser du at "det anbefales at installere RMagick-gemmet, ellers viser intet bifogade billeder i eksporterede PDF-filer". Så hur gör vi det? Det borde vara lika enkelt som

RUN perle installer rmagick

men du vet sandsynligvis, at gemmet skal bygges inden det kan installeres, så du skal installere nogle pakker inden for gemmet. Den rad du virkelig behøver er

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

       && perleinstallere rmagick

Alt i en ender kommando, opdelat på to rader for läsbarhet.

Den oprindelige forfatter til dette tillæg leveres ingen version for Redmine 4, men en søgning på tilläggets navn på GitHub ledte mig til et projekt som gør det: RubyClickAP / clipboard_image_paste.


Tilføj et tillæg eller tema fra en nedladdad kilde

A1-temat er et bra eksempel på at illustrera faldet, hvor du har källkoden, men intet en URL at lade ner under byggeprocessen. Et alternativ i sådan fald er att tillhandahålla källkoden til byggeprocessen. På så sätt lægger indholdet til billedet uden at lade det

KOPI a1 offentlig / temaer / a1

Dette kræver, at a1-mappen findes på samme plads som Dockerfilen.

Nu skal du genopbygge dit billede, så åbne en terminal, hvor din Dockerfil er og køre

docker build -t min-redmine.

Når den er bygget kan du köra din bild med

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

Gå videre og åbne http://localhost:3000 for at se din tilpassede Redmine!

Redmine efter anpassning


Nogle tips til at tilføje til flere tillæg

For at prøve nye tillæg er det altid bedre at bruge en ny Redmine-container. Det er så jeg insåg at rmagick kræver at nogle pakke installeres. Kör först en kassationsbar instans af Redmine med

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

och gå sedan in i instansen med

docker udfører -det test-redmine bash

Hvor kan du installere OS-pakke, ædelstene eller køre migreringer. Husk bare, hvordan du kan tilføje dem i din Dockerfil!


Download dit tilpassede billede til Docker Hub

Billederne du præcise byggede er kun tilgængelige for din lokale miljø. Hvad gør du om du vil gøre den tilgængelig for andre, hvad vi siger til alle? Selvklart kan du downloade Docker-filer og relaterede filer til en git-repo, og de interesserede kan bygge egenskaber. Men Docker giver også mulighed for at lade opbygge billedet til deres register. For det, oprette en konto på hub.docker.com og også oprette et depot for dit billede. Logga sedan i terminalen så her

docker-login

Tag din billede så at den kan lades op til din repo

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

och pusha den så här

docker push lcofre / redmine: seneste

Dockerbilleder i Dockerregistret

Nu kan vem som helst prova din billede genom att göra så her

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

Det er alt! Så her går du fra en standardinstallation af Redmine til en personlig version, som er tilgængelig i Dockerregistret. Vänligen dela dine kommentarer eller spørgsmål nedenfor.


Minska størrelsen på Dockerbilleder

Du kommer att märka att Dockerfilen i repot har slagit samman många rader till en. Dette er en Docker-anbefaling for at lave mindre billeder. Du kan hitta den rekommendationen och andra på https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

En anden anbefaling for at mindske den endelige størrelse på billedet er at bruge alpine-versionen af ​​Redmine

FRA Redmine: alpin

Alpine er en anden Linux-distribution. Sæt til at bruge apt til at installere pakke skal bruge apk.

Et sidste tips: pakker vi installerede med apt i Dockerfilen er ikke længere nødvendigt efter at billedet er bygget. Du kan følge den bedste praksis ved at bruge flerstegsbyggen: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

At holde en lille størrelse på Dockerbilledet hjælper med at hjælpe når antallet af instanser skal op, men også mindske attackytan på din billede.

Den ultimative Redmine-opgraderingen? Enkel.

Få alle kraftfulde værktøjer til perfekt projektplanlægning, håndtering og kontrol i en mjukvara.

Optag Easy Redmine

Prova Easy Redmine i en 30 dages gratis provperiode

Fuldstændige funktioner, SSL-beskyttelse, daglig sikkerhedskopior, og din geografiske plads