Hogyan hozzunk létre egyéni Redmine Docker képet?

6/16/2020
9 минути
Лукаш Беня -> Лукаш Беня
Redmine az egyik legnépszerűbb eszköz a projektmenedzsment és a probléma nyomon követés területén. Ha már próbálta vagy telepítenie kellett egy termelési környezetben, akkor valószínűleg tudja, hogy van egy hivatalos docker kép, amely nagyban megkönnyíti a telepítést és a skálázást a nagy igényű környezetekben.

Redmine előtt testreszabás

Коментирайте: Redmine nativ docker elérhető a https://hub.docker.com/_/redmine олдалон. Itt jó útmutatókat is találhat arról, hogyan lehet külső adatbázist feelölteni és külső mappákat csatolni (a pluginek telepítéséhez).

Ha hasonlóan gondolkodik, mint én, és inkább közvetlenül szeretné látni a testreszabott Redmine Docker kép kódját, akkor látogasson el a github.com/lcofre/redmine oldalra, és ellenőrizze a Dockerfile-t.

A Redmine Docker kép jó kiindulópont, bár valószínűleg szeretné testreszabni a saját kedvenc plugineivel és témáival. Ebben как да забраните egy Docker képet fogunk építeni az hivatalos képre alapozva, hozzáadunk néhány témát és plugint, mayd feelöltjük a docker register-be.

Az egyszerűség kedvéért nem használunk külső adatbázist, hanem egy belső adatbázist használunk a Redmine conténerben magában. Azonban egy termelési környezetben ajánlott egy dedikált tároló konténer beállítása.


Pluginek és témák

Választottunk néhány plugint és témát, hogy bemutassuk a Redmine-hez való különböző hozzáadási modokat:

  • Oldalsáv elrejtése, egy плъгин, amely lehetővé teszi a nagyobb képernyőterületet, különösen akkor, amikor problémákat írunk
  • Vágólap beillesztése, hogy képernyőképeket csatoljon a vágólapról, ahelyett, hogy kiválasztana egy fájlt
  • A1 и Гитмайк, két téma, amely megváltoztatja a felhasználói felület kinézetét

Kizárjuk azokat a plugineket, amelyek adatbázis-migrációt igényelnek, mivel előre létező adatbázisra van szükségük. Ha olyan plugint szeretne telepíteni, amely migrációkat igényel, akkor kérjük, kommentelje alá, mivel van jó ötleteink.


Dockerfile е изтрит

A Dockerfile egy recept arról, hogyan kell egy Docker képet építeni. Az első tény, amit itt megtanulunk, az az, hogy másik képre kell alapoznunk a képünket, így a hivatalos Redmine képet fogjuk használni.

ОТ Redmine

Dockerfile első sora az utolsó és legnagyobb képre alapozza a képünket, amely a 4.1.0 verzió a jelenlegi írásbeli időpontban. Mivel ez a legfrissebb verziót fogja letölteni, előnyösebb lehet egy adott verziót használni, hogy elkerüljük azokat az váratlan új verziókat, amelyek tönkretehetik ezt a képet.

ОТ Redmine: 4.1.0


A Git használata a komponensek letöltéséhez

A legtöbb esetben a témák és bővítmények Git tárolókkal rendelkeznek, ahol letölthetjük a legfrissebb kódot. Ez igaz a következő három komponensre.

Az alap Redmine kép nem tartalmaz Git-et, de hozzáadhatjuk a képhez ezt a módszert használva:

ИЗПЪЛНАЙТЕ apt install -y git

Ez végrehajtódik, amikor a kép épül, és lehetővé teszi a Git használatát a következő utasításokban.

Gitmike témája: javasolják, hogy közvetlenül klónozzuk a repo-jukat

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

Ez a sor menti a klónozott projektet a megfelelő mappába, a public/themes-be.

Oldalsáv elrejtése: Ugyanez a folyamat alkalmazható bővítményekre is. Ehhez semmi másra nincs szükségünk, csak a klónozott mappa elhelyezésére a bővítmények mappájában.

Клониране на RUN git https://gitlab.com/bdemirkir/sidebar_hide.git приставки / sidebar_hide

Vágólap kép beillesztése: Ez is úgy tűnik, hogy a tipikus eljárás, klónozzuk a repo-t, és kész е vagyunk.

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

Де ха tovább olvasunk, láthatjuk, hogy "ajánlott az RMagick gem telepítése, különben a csatolt képek nem jelennek meg az exportált PDF fájlokban". Tehát hogyan kell ezt megtenni? Ez olyan egyszerűnek tűnik, мента

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

de valószínűleg tudod, hogy a gem-nek épülnie kell, mielőtt telepíthető lenne, tehát szükséged van néhány csomag telepítésére a gem telepítése előtt. Az a sor, amire valóban szükséged van, az:

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

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

Minden egyetlen parancsban, két sorba szétválasztva az olvashatóság érdekében.

Версията на приставката не е създадена за Redmine 4-хез, а приставката не се използва в GitHub, ако проектът е свързан с него, например: RubyClickAP / clipboard_image_paste.


Bővítmény vagy téma hozzáadása letöltött forrásból

A A1 тема jó példa arra, hogy bemutassuk azokat az eseteket, amikor rendelkezünk a forrással, de nincs URL a letöltéshez a build folyamat során. Ebben az esetben az egyik lehetőség az, hogy a forrást a build folyamatához adjuk. Így a tartalom hozzáadódik a képhez letöltés nélkül.

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

Ehhez az a1 mappának ugyanazon a helyen kell lennie, ahol a Dockerfile található.

Most már készen állsz a kép építésére, tehát nyiss meg egy terminalált, ahol a Dockerfile található, és hajtsd végre a következő parancsot:

docker build -t my-redmine.

Amint elkészült, futtathatod a képedet:

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

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

Тестване на Redmine


Néhány tipp a bővítmények hozzáadásához

Az új bővítmények kipróbálásához mindig jobb egy friss Redmine conténert használni. Így jöttem rá, hogy az rmagick-hez néhány csomagot telepíteni kell. Először futtass egy eldobható Redmine példányt:

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

és lépj be a példányba:

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

Itt telepíthetsz operációs rendszer csomagokat, gem-eket vagy futtathatsz migrációkat. Csak emlékezz a lépésekre, hogy hozzáadhassuk őket a Dockerfile-hoz!


A site kép feelöltése a Docker Hub-ra

Az általad épített kép csak a helyi környezetedben érhető el. Mi van akkor, ha mások is hozzáférhetnek hozzá, mondjuk mindenki? Természetesen feelöltheted a Dockerfile-t és a kapcsolódó fájlokat egy git repo-ba, es az érdeklődők maguk е epíthetik a képet. De a Docker lehetővé teszi a kép feelöltését a regisztrációjukba е. Ehhez hozz létre egy fiókot a hub.docker.com-on, és hozz létre egy tárolót a képedhez. Ezután jelentkezz be terminálban így

вход за докер

Címkézd a képedet, hogy feltölthető legyen a tárolódba

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

és töltsd fel így

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

A Docker kép a Docker registersztrációban

Most bárki kipróbálhatja a képedet azzal, hogy

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

Ennyi az egész! Így juthatsz el egy szabványos Redmine telepítéstől egy a Docker registrisztrációban elérhető személyre szabott verzióig. Kérjük, ossza meg velünk a megjegyzéseit vagy kérdéseit az alábbiakban.


A Docker kép méretének csökkentése

Az репо забрана на Dockerfile több сортиране egybeolvasztott. Ez a Docker ajánlása a kisebb képek létrehozása érdekében. Ezt és más ajánlásokat megtalálhatod itt: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Egy másik ajánlás a kép végső méretének csökkentésére az alpine verzió használata a Redmine-ban

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

Разпространението на Linux машината на Alpine. Ahelyett, hogy az apt segítségével telepítenéd a csomagokat, az apk-t kell használnod.

Egy utolsó tipp: az apt segítségével telepített csomagok a Dockerfile-ban már nem szükségesek a kép elkészültével. Követheted a legjobb gyakorlatot, és több szakaszos építést használhatsz: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

A kis méretű Docker kép megtartása különösen hasznos, amikor noveled a példányok számát, de csökkenti a képed támadási felületét is.

Az utolsó Redmine frissítés? Egyszerű.

Szerezd meg az összes erőteljes eszközt a tökéletes projekttervezéshez, -kezeléshez és -ellenőrzéshez egyetlen szoftverben.

Fedezd fel az Easy Redmine-t

Пробване на Easy Redmine-t 30 napos ingyenes probaverzióban

Minden funkció elérhető | SSL tanúsítvány | Napi mentések