Hur du skapar inpassade Redmine Docker-bild

6/16/2020
8 minut
Lukáš Beňa.
Redmine är en av de mest populära verktygen för projektledning och ärendehantering. Om du har provat det eller var tvungen att installera det i en produktionsmiljö, vet du förmodligen också att det finns en officiell dockerbild jsem i high grad forenklar installationen och skalningen för högtrafiksmiljöer.

Redmine innan anpassning

Pozorovatel: Redmine nativ docker kan hittas på 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 kolla på Dockerfilen.

Redmine Docker-bilden är en podprsenka utgångspunkt, aven om du förmodligen vill anpassa den med tillägg nebo teman jsem du gillar. I den här handledningen commer vi att bygga en Docker-bild baserad on the officiella biden, lägga into några tem a tillägg, och ladda upp den into 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. Pro doporučení k doku a konfiguraci a dedikerad lagringsbehållare.


Tillägg och teman

Chcete-li se podívat na obrázek nebo do redmine:

  • Dölj sidofältet, ett tillägg som ger mer skärmutrymme, särskilt när du skriver ärenden
  • Klistra ve 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 a 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. Kommentera nedan om du behöver installera ett tillägg som behöver Migrator, 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

Z Redmine

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. Poté, co detta kommer att hämta vilken version som är senast, kan du föredra att använda en specific version for att undvika oväntade nya versioner som kan bryta byggandet av denna bild

Z Redmine: 4.1.0


Använda Git pro 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 a bilden på följande sätt

SPUSTÍTE 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-téma: de rekommenderar att klona sitt repo direkt

RUN git klon https://github.com/makotokw/redmine-theme-gitmike.git public / themes / gitmike

Raden kommer att spara det klonade projectt i rätt mapp public/themes

Dölj sidofältet: Samma procedure kan tillämpas på tillägg. Detta kräver inget mer än att placera den klonade mappen i tilläggsmappen

RUN git klon https://gitlab.com/bdemirkir/sidebar_hide.git pluginy / sidebar_hide

Klistra v obraze från urklipp: Detta verkar också vara den vanliga proceduren, klona repoet och du är redo att gå

RUN git klon https://github.com/RubyClickAP/clipboard_image_paste.git pluginy / clipboard_image_paste

Muži om du läser lite mer k tématu "doporučeno k instalaci RMagick-gemmet, annars visas inte bifogade image and exporterade PDF-filer". Tak co dál? Det borde vara lika enkelt som

RUN gem nainstalovat rmagick

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

SPUSTÍTE apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem install rmagick

Allt i en enda kommando, uppdelat på två rader for läsbarhet.

Den ursprungliga författaren to detta tillägg tillhandahåller ingen version for Redmine 4, men en sökning på tilläggets name nomn på GitHub ledde mig till ett projekt jsem gör det: RubyClickAP / clipboard_image_paste.


Lägga till ett tillägg eller tema från en nedladdad källa

A1-temat är ett bra exempel för att illustrera fall där du har källkoden, men inte en URL att ladda ner under byggprocessen. Ett alternative 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

KOPIE a1 veřejné / témata / a1

Detta kräver att a1-mappen finns na samma plats jako Dockerfilen.

Nu är du redo att bygga din bild, så öppna en terminal där din Dockerfil är och kör

stavitel doku -t můj-redmine.

När den är byggd kan du köra din bild med

docker run -it -p 3000: 3000 - jméno my-redmine my-redmine

Podívejte se na http://localhost:3000 pro tento přístup Redmine!

Redmine po překonání


Några tips for att lägga till fler tillägg

Chcete-li zjistit, zda se jedná o nádobu Redmine, jedná se o všechny položky. Det är så jag insåg att rmagick kräver att Visa packet installeras. Kör först en kassationsbar instans od Redmine med

docker run - rm -d -p 3000: 3000 - jméno test-redmine redmine

och gå sedan in a instansen med

docker exec -it test -redmine bash

Där kan du installera OS-packet, drahokamy nebo köra migreringar. Pokud je to tak, tak se musím vrátit do dockerfilu!


Ladda upp din anpassade billd to 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 related filer till ett git-repo, och de intresserade kan bygga bilden själva. Muži Docker tillåter också att du laddar upp den byggda bilden till deras register. Pro det, skapa ett konto na hub.docker.com a skapa också ett repository for din bild. Logga sedan in a terminalen så här

přihlášení do doku

Tagga din bild så att den kan laddas upp till ditt repo

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

och pusha den så här

dokovací push lcofre / redmine: nejnovější

Dockerbilden a Dockerregistr

Nu kan vem som helst prova din bild genom att göra så här

docker run -it -p 3000: 3000 - jméno my-redmine lcofre / redmine

Det är allt! Nyní je k dispozici standardní instalace od Redmine do osobní verze, která je k dispozici v Dockerregistret. Vänligen dela dina kommentarer eller frågor nedan.


Minska storleken v Dockerbilden

Du kommer att märka att Dockerfilen i repot har slagit samman många rader till en. Detta är ett Docker-rekommendation for att göra mindre bilder. Du kan hitta den rekommendationen och andra på https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Annan rekommendation for att Minska Den Slutliga Storleken På bilden är att använda alpine-versionen Av Redmine

Z Redmine: alpine

Alpine je anan linuxová distribuce. Istället för att använda apt för att installera paket måste du använda apk.

Další tipy: paketujte v instalaci s apt a Dockerfilen se chováte po připojení k počítači. Du kan följa bästa praxe 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.

Poslední aktualizace Redmine? Enkel.

Få alla kraftfulla verktyg for perfekt projektplanering, hantering och kontroll i en mjukvara.

Upptäck Easy Redmine

Prova Easy Redmine za 30 dagarů zdarma

Kompletní funkce, SSL-skyddad, dagliga sakerhetskopior, a geografické platy