Изтеглете снимката на Redmine Docker

6/16/2020
8 минути
Лукаш Беня.
Redmine е един от най-популярните реклами за проектиране и пренасочване. 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 som i hög grad förenklar installationen och skalningen för högtrafiksmiljöer.

Redmine innan passning

Наблюдател: Нативният докер на Redmine може да се използва 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 go go till github.com/lcofre/redmine и кол в Dockerfilen.

Снимките на Redmine Docker са активни, дори ако моделът ще бъде включен в съдържанието и темата, която е в сила. 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 database utan en intern databasi 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 for att välja en fil
  • A1 и Гитмайк, 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. Коментарът не е 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

Тази първа работа в 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 specifik version for att undvika oväntade nya versioner som kan bryta byggandet av denna bild

ОТ Redmine: 4.1.0


Använda Git for att hämta komponentna

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

ИЗПЪЛНАЙТЕ 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-тема: de rekommenderar att klona sitt repo direkt

Клониране на RUN git https://github.com/makotokw/redmine-theme-gitmike.git обществена / теми / gitmike

Raden kommer att spara det klonade projektet i rätt mapp 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 https://gitlab.com/bdemirkir/sidebar_hide.git приставки / sidebar_hide

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

Клониране на RUN git https://github.com/RubyClickAP/clipboard_image_paste.git приставки / clipboard_image_paste

Men om du läser lite mer så ser du att "препоръчваме да инсталирате RMagick-gemmet, annars visas inte bifogade bilder and exporter PDF-filer". Så hur gör vi det? Det borde vara lika enkelt som

RUN скъпоценен камък инсталирате rmagick

men du vet förmodligen att gemmet måste byggas innan det kan installeras, så du måste installera några пакет innan du installerar gemmet. Den rad du verkligen behöver är

RUN apt install -y build-съществена imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem инсталирате rmagick

Allt i en enda commando, uppdelat på två rader för läsbarhet.

От ursprungliga författaren до тази версия до handdahåller ingen версия за Redmine 4, мъжете и търсенето до имената на GitHub са ми довели до този проект, който ще бъде: RubyClickAP / clipboard_image_paste.


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

А1-темат är ett сутиен exempel för att illustrera fallen där du har källkoden, men inte en URL att ladda ner under byggprocessen. Ett alternativa 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

КОПИРАНЕ a1 обществено / теми / a1

Този творец на a1-mappen finns на самите платна от Dockerfilen.

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

docker build -t my-redmine.

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

docker run -it -p 3000: 3000 - име my-redmine my-redmine

Отидете на http://localhost:3000, за да използвате този Redmine!

Redmine след преминаване


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

docker run --rm -d -p 3000: 3000 - име тест-redmine redmine

och gå sedan in i instansen med

docker exec - това е тест-redmine bash

Можете да инсталирате OS пакет, скъпоценни камъни или да мигрирате. Kom bara ihåg stegen så att du kan lägga till dem i din Dockerfil!


Ladda up 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 up Dockerfilen or 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 på hub.docker.com и skapa också ett repository for din bild. Logga sedan in i terminalen så här

вход за докер

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

docker tag my-redmine: последен lcofre / redmine: най-нов

och pusha den så här

docker push lcofre / redmine: най-късно

Dockerbilden и Dockerregistret

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

docker run -it -p 3000: 3000 - име my-redmine lcofre / redmine

Det är allt! Så här går du från стандартна инсталация на Redmine до лична версия, така че да бъде въведена в Dockerregistret. Vänligen dela dina komentarer или frågor nedan.


Minska storleken på Dockerbilden

Du kommer att märka att Dockerfilen и repot har slagit samman många rader till en. Това е препоръка на Docker за по-добра снимка. 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

ОТ Redmine: алпийски

Alpine е дистрибуция на Linux. Установява се за приложение, подходящо за инсталиране на най-големия пакет за инсталиране на apk.

Ето някои съвети: пакетът се инсталира с apt и Dockerfilen се изпълнява в лента, след като тази снимка е от ggd. 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.

Последно надграждане на Redmine? Enkel.

Få alla kraftfulla verktyg för perfekt projektplanering, hantering och kontroll i en mjukvara.

Upptäck Easy Redmine

Prova Easy Redmine в 30 дни безплатен период на изпробване

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geografiska plats