Hur du skaber dit tilpassede Redmine Docker-billede
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.