Så här använder du Redmine Docker-bild

6/16/2020
8 minuter
Lukáš Beňa
Redmine är ett av de mest populära verktygen för projektledning och felsporing. Om du har provat det eller har varit nödvändigt för att installera det i en produktionsmiljö, du förmodligen också, finns och officiellt docker-bild, där i hög grad forenkler installation och skalering för miljöer med hög efterfrågan.

Redmine för anpassning

Notera: Redmine native docker kan hittas på https://hub.docker.com/_/redmine. Du kan också hitta goda instruktioner om hur du fyller ut en extern databas och installerar extern kartläggare (för att kunna installera plugins).

Om du är som mig och väljer att se koden direkt för att skapa en användardefinierad Redmine Docker-bild, kan du gå till github.com/lcofre/redmine och kontrollera Dockerfilen.

Redmine Docker-bilden är ett bra utgångsläge, men du kan förmodligen anpassa det med plugins och temaer efter din smak. I denna vägledning vill vi bygga upp ett Docker-bild baserat på det officiella, lägga till några temaer och plugins och ladda upp det till docker-registret.

För enkelhedens skyld vill vi inte använda en extern databas, men en intern databas i Redmine-containeren själv. Till en produktionsmiljö rekommenderas att skapa en hund och dedikera lagerbehållare.


Plugins och temaer

Vi har valt några plugins och temaer för att visa olika sätt att lägga till dem till Redmine:

  • Skjul sidebjælke, et plugin som ger mer skärmplads, speciellt när du skriver sager
  • Indsæt från utklipshållare, til at vedhæfte skärmbilleder ved at indsætte fra udklipsholderen i stället för att välja en fil
  • A1 og Gitmike, till temaer som ändrar utseendet av användargränsfladen

Vi öppnar plugins, kräver en databasmigrering, då du använder en förutgående befintlig databas. Kommentera nedan, om du använder för att installera och plugin, kräver migrationer, då vi har goda idéer till dig.


Skriv Dockerfilen

En Dockerfil är en uppskrift på, hur man bygger och Docker-bild. Det första faktum, vi vill lära henne, är, att vi ska basera vårt bild på ett annat bild, så vi vill använda det officiella till Redmine

FRA Redmine

Denna första linje i Dockerfilen vill basera vårt bild på den senaste och bästa versionen, 4.1.0 på skrivtidspunkten. Om du vill hämta hvilken som helst senaste version, kan du använda en specifik version för att undvika att använda nya versioner, där kan bryde uppbyggnaden av detta bild

FRA Redmine:4.1.0


Använd av Git til att hämta komponenter

I de flesta fall har temaer och plugins git-repositorier, där vi kan ladda ner den senaste koden. Detta gäller för följande tre komponenter.

Den grundläggande Redmine-bilden kommer utan git, men vi kan lägga till det till bilden på den här sättet

KÖR apt installation -y git

Detta kommer att bli utfört, när bilden bygger, och vi vill tillade dig att använda git i följande instruktioner.

Gitmike-tema: de rekommenderar at klone deras repo direkt

KÖR GIT-klon https://github.com/makotokw/redmine-theme-gitmike.git offentliga / themes / gitmike

Linjen vill gemme det klonade projekt i den lämpliga kartan public/themes

Skjul sidebjælken: Samma procedur kan användas på plugins. Detta kräver inte mer än att placera den klonade kartan i plugins-mappen

KÖR GIT-klon https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Urklipp Billede Indsæt: Detta verkar också som den typiska proceduren, klon repoet, och du är klar till att gå

KÖR GIT-klon https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Men hvis du läser lite mer vill du se, att "det rekommenderas att installera RMagick-gemmen, eller visas vidhäftade bilder som inte exporterade PDF-filer". Så hur gör vi det? Det burde være lige så enkelt som

KÖR pärla installera rmagick

men du ved nok, att gemmen ska byggas, innan den kan installeras, så du ska installera några pakker, innan du installerar gemmen. Linjen, du verkligen har brug för, er

KÖRA apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem installera rmagick

Alt i en kommando, adskilt i to linjer för läsbarhed.

Den ursprungliga författaren av detta plugin ger inte en version till Redmine 4, men en sökning på pluginnamnet på GitHub kommer mig till ett projekt, där gör det: RubyClickAP / clipboard_image_paste.


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

A1-temaet Det finns ett gott exempel på i illustrerade fall, där du har källan, men inte en URL till vid nedladdning under byggnadsprocessen. En möjlighet i sådana fall är att ge källan till byggnadsprocessen. På sättet att lägga till innehållet till bild utan att ladda ner det

COPY a1 public / teman / a1

Detta kräver, att a1-mappen är på samma plats som Dockerfilen.

Nu är du klar til att bygga ditt bild, så åbn en terminal, hur din Dockerfil är, och utfør

docker build -t my-redmine.

När det är byggt kan du köra detta bild med

docker run -it -p 3000: 3000 - namn min-redmine my-redmine

Gå vidare och åbn http://localhost:3000 för att se detta anpassade Redmine!

Redmine efter anpassning


Några tips för att lägga till flera plugins

För att prova nya plugins är det alltid bättre att använda en frisk Redmine-container. Det är sådan, jag upptäckte, att rmagick kräver, att några paket installeras. Kør först en kassérbar instans af Redmine med

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

og gå derefter ind i instansen med

docker exekvera -it test-redmine bash

Där kan du installera OS-paket, ädelstenar eller köra migrationer. Ta bara stegen, så du kan lägga till dem till din Dockerfil!


Överföring av detta användardefinierade bild till Docker Hub

Billedet, du lige har byggt, är tillgängligt i din lokala miljö. Vad nu om du vill göra det tillgängligt för andra, lad os säga för alla? Naturligtvis kan du ladda upp Dockerfilen och relaterade filer till ett git repo, och de intresserade kan bygga bilden själv. Men Docker ger dig också möjlighet att ladda upp det byggda bilden till deras register. För att göra det ska du skapa ett konto på hub.docker.com och även skapa ett arkiv för detta bild. Efter logger du in i terminalen på detta sätt

docker-inloggning

Tagga detta bild, så det kan laddas upp till ditt repo

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

och tryck det på den här sättet

docker push lcofre / redmine: senaste

Docker-bild i Docker-registret

Nu kan du prova detta bild genom att göra följande

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

Det är det! Så går du från en standard Redmine-installation till en personlig version, är tillgänglig i Docker-registret. Del gärna dina kommentarer eller frågor nedan.


Reducer storlekn på Docker-bildet

Du vil upptäckt, kl Dockerfilen i repoet har slået mange linjer tillsammans til en. Detta är en anbefaling från Docker för att göra bilderna mindre. Du kan hitta detta råd och andre på https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

En annan anbefaling för att reducera den slutliga storleken på bilden är att använda alpine-versionen av Redmine

FRA Redmine:alpin

Alpine är en annan Linux-distribution. I stället för att använda apt för att installera paket som ska du använda apk.

Et sista tips: De pakker, vi installerade med apt i Dockerfilen, är inte längre nödvändiga efter, att bilden är byggd. Du kan följa bästa praxis vid användning av flerstegsbyggen: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Praksissen med att hålla et litet Docker-bild hjälper framför allt, när mängden av instanser ska ske, men minskar också angrebsfladen på detta bild.

Den ultimativa Redmine-uppgraderingen? Nemt.

Få alla kraftfulla verktyg till perfekt projektplanering, -styrning och -kontroll i en enkel programvara.

Opdag Easy Redmine

Easy Redmine i en 30 dagars gratis provperiod

Full funktionalitet, SSL-skydd, dagliga säkerhetskopior, och geolokalisering