Hur du skapar din anpassade Redmine Docker-bild
Redmine innan anpassning
Megfigyelő: Redmine nativ docker tudja elérni https://hub.docker.com/_/redmine. Här kan du också hitta bra instruktioner om hur du fyller på en extern databas och monterar externa mappar (för att kunna installera tillägg).
Om du är som jag och föredrar att direkt se koden för att bygga en anpassad Redmine Docker-bild, kan du gå till github.com/lcofre/redmine och kollap a Dockerfilen.
Redmine Docker-bilden är en bra utgångspunkt, även om du förmodligen vill anpassa den med tillägg och teman som du gillar. I den här handledningen kommer vi att bygga en Docker-bild baserad på den officiella bilden, lägga till några teman och tillägg, och ladda upp den till docker-registret.
För enkelhetens skull kommer vi inte att använda en extern databas utan en intern databas i Redmine-behållaren själv. För en produktionsmiljö rekommenderas det dock att konfigurera en dedikerad lagringsbehållare.
Tillägg och teman
Vi har valt några tillägg och teman för att illustrera olika sätt att lägga till dem i Redmine:
- Dölj sidofältet, ett tillägg som ger mer skärmutrymme, särskilt när du skriver ärenden
- Klistra in från urklipp, för att bifoga skärmbilder genom att klistra in från urklippet istället för att välja en fil
- A1 és Gitmike, två teman för att ändra utseendet på gränssnittet
Vi utesluter tillägg som kräver en databasmigration, eftersom du behöver en befintlig databas. Commentera nedan om du behöver installera ett tillägg som behöver migrationer, eftersom vi har bra idéer för dig.
Skriva Dockerfilen
En Dockerfil är ett recept på hur man bygger en Docker-bild. Det första faktum vi kommer att lära oss här är att vi måste basera vår bild på någon annan bild, så vi kommer att använda den officiella för Redmine
Redmine-től
Denna första rad i Dockerfilen kommer att basera vår bild på den senaste och bästa bilden, 4.1.0 vid skrivandets tidpunkt. Eftersom detta kommer att hämta vilken version som är senast, kan du föredra att använda en spec version för att undvika oväntade nya versioner som kan bryta byggandet av denna bild
Redmine-től: 4.1.0
Använda Git för att hämta komponenterna
I de flesta fall har teman och tillägg git-repositorier där vi kan hämta den senaste koden. Detta gäller för följande tre komponenter.
Basbilden för Redmine kommer utan git, men vi kan lägga till det i bilden på följande sätt
RUN apt install -y GIT
Detta kommer att köras när bilden byggs och kommer att tillåta dig att använda git i följande instruktioner.
Gitmike-tema: de rekommenderar att klona sitt repo direkt
RUN git klón https://github.com/makotokw/redmine-theme-gitmike.git nyilvános / themes / gitmike
Raden kommer att spara det klonade projektet rätt mappp public/themes
Dölj sidofältet: Samma procedur kan tillämpas på tillägg. Detta kräver inget mer än att placera den klonade mappen i tilläggsmappen
RUN git klón https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Klistra in bilder från urklipp: Detta verkar också vara den vanliga procedúra, klona repoet och du är redo att gå
RUN git klón https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
Men om du läser lite mer så ser du att "det rekommenderas att installera RMagick-gemmet, annars visa inte bifogade bilder i exporterade PDF-filer". Så hur gör vi det? Det borde vara lika enkelt som
Futtassa a gem install rmagick szoftvert
men du vet förmodligen att gemmet måste byggas innan det kan installeras, så du måste installera några paket innan du installerar gemmet. Den rad du verkligen behöver är
Futtassa a telepítést - ha épít-nélkülözhetetlen imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& gem install rmagick
Allt i en enda kommando, uppdelat på två rader för läsbarhet.
Den ursprungliga författaren till detta tillägg tillhandahåller ingen version för Redmine 4, men en sökning på tilläggets namn på GitHub ledde mig till ett projekt som gör det: RubyClickAP / clipboard_image_paste.
Olvassa el a tillägg eller témát från en nedladdad källa
A1-temat är ett bra exempel för att illustrera fallen där du har källkoden, men inte en URL att ladda ner under byggprocessen. Ett alternativ i sådana fall är att tillhandahålla källkoden till byggprocessen. På så sätt läggs innehållet till bilden utan att ladda ner det
MÁSOLÁS a1 nyilvános / témák / a1
Detta kräver att a1-mappen finns på samma plats som Dockerfilen.
Nu är du redo att bygga din bild, så öppna en terminal där din Dockerfil är och kör
dokkoló építés - my-redmine.
När den är byggd kan du köra din bild med
dokkoló futtatása -p-3000: 3000 - neve my-redmine my-redmine
Gå vidare och öppna http://localhost:3000 för att se ditt anpassade Redmine!
Redmine az áthaladás után
Några tips för att lägga till fler tillägg
För att prova nya tillägg är det alltid bättre att använda en ny Redmine-container. Det är så jag insåg att rmagick kräver att vissa paket installeras. Kör först en kassationsbar instans av Redmine med
dokkoló fut - rm -d -p 3000: 3000 - név teszt-redmine redmine
och gå sedan in i instansen med
dokkoló végrehajtja - teszt-redmine bash
Där kan du installera OS-paket, gems eller köra migreringar. Kom bara ihåg stegen så att du kan lägga till dem i din Dockerfil!
Ladda upp din anpassade bild till Docker Hub
Bilden du precis byggde är endast tillgänglig för din lokala miljö. Vad gör du om du vill göra den tillgänglig för andra, låt oss säga för alla? Självklart kan du ladda upp Dockerfilen och relaterade filer till ett git-repo, och de intresserade kan bygga bilden själva. Men Docker tillåter också att du laddar upp den byggda bilden till deras register. För det, skapa ett konto a hub.docker.com och skapa också ett repository för din bild. Logga sedan in i terminalen så här
dokkoló bejelentkezés
Tagga din bild så att den kan laddas upp till ditt repo
docker tag my-redmine: legújabb lcofre / redmine: legújabb
och pusha den så här
dokkoló push lcofre / redmine: legújabb
Dockerbilden i Dockerregistret
Nu kan vem som helst prova din bild genom att göra så här
dokkoló futtatása -p-3000: 3000 - neve my-redmine lcofre / redmine
Det är allt! Så här går du från en standardinstallation av Redmine till en personlig version som är tillgänglig i Dockerregistret. Vänligen dela dina kommentarer eller frågor nedan.
Minska storleken på Dockerbilden
Du kommer att märka att Dockerfilen i repot har slagit samman många rader till en. Detta är ett Docker-rekommendation för att göra mindre bilder. Du kan hitta den rekommendationen och andra på https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
En annan rekommendation för att minska den slutliga storleken på bilden är att använda alpine-versionen av Redmine
Redmine-től: alpesi
Alpine a Linux disztribúció. Istället för att använda apt for att installera paket måste du använda apk.
Ett sista tippek: paketen vi installerade med apt i Dockerfilen behövs inte längre efter att bilden är byggd. Du kan följa bästa praxis genom att använda flerstegsbyggen: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
Att hålla en liten storlek på Dockerbilden hjälper särskilt när antalet instanser skalas upp, men minskar också attackytan på din bild.
Az ultimata Redmine-upgraderingen? Enkel.
Få alla kraftfulla verktyg för perfekt projektplanering, hantering och kontroll i en mjukvara.