Hogyan hozzunk létre egyéni Redmine Docker képet?
Redmine előtt tesztreszabás
Megjegyzés: A Redmine natív docker elérhető a https://hub.docker.com/_/redmine oldalon. Itt jó útmutatókat is találhat arról, hogyan lehet külső adatbázist feltölteni és külső mappákat csatolni (a pluginek telepítéséhez).
Ha hasonlóan gondolkodik, mint én, és inkább szeretném látni a testreszabott Redmine Docker kódját, akkor látogasson el a github.com/lcofre/redmine oldalra, és a Dockerfile-t.
A Redmine Docker kép jó kiindulópont, bár szeretném tesztelni a saját kedvenc plugineivel és témáival. Ebben a how-to-ban egy Docker képet fogunk építeni a hivatalos képre alapozva, hozzáadunk néhány témát és plugint, majd feltöltjük a docker registry-be.
Azség kedvéért nem használunk külső adatbázist, hanem egy belső egyszerű adatbázist használunk a Redmine konténerben. Azonban egy termelési környezetben ajánlott egy dedikált tárolókonténer beállítás.
Pluginek és témák
Választunk néhány plugint és témát, hogy bemutassuk a Redmine-hez való különböző hozzáadási módokat:
- Oldalsáv elrejtése, egy plugin, 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 éS Gitmike, 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.
A Dockerfile írása
A Dockerfile egy recept arról, hogyan kell egy Docker képet építeni. Az első tény, amit itt megtanulunk, az, hogy másik képre kell alapoznunk a képünket, így a hivatalos Redmine képet fogjuk használni.
Redmine-től
A Dockerfile első sora az utolsó és legnagyobb képre alapozza a képünket, amely a 4.1.0 verziójú 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 új verziókat, amelyek tönkretehetik ezt a képet.
Redmine-től: 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:
RUN apt install -y GIT
Ez végrehajtódik, amikor a kép épül, és lehetővé teszi a Git használja a következő utasításokban.
Gitmike témája: javasoljuk, hogy közvetlenül klónozzuk a repo-jukat
RUN git klón https://github.com/makotokw/redmine-theme-gitmike.git nyilvános / themes / gitmike
Ez a sor menti a klónozott projektet a megfelelő mappába, a public/themes-be.
Oldalsáv elrejtése: Ugyanez a folyamat 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 klón https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Vágólap kép beillesztése: Ez úgy tűnik, hogy a tipikus eljárás, klónozzuk a repo-t, és kész is vagyunk.
RUN git klón https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
De ha 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, mint
Futtassa a gem install rmagick szoftvert
de biztos tudod, hogy a gem-nek épülnie kell, nagyon 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:
Futtassa a telepítést - ha épít-nélkülözhetetlen imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& gem install rmagick
Minden egyetlen parancsban, két sorba szétválasztva az olvashatóság érdekében.
A plugin eredeti szerzője nem biztosít verziót a Redmine 4-hez, de a plugin nevének keresése a GitHub-on egy olyan projektre vezetett, amely igen: RubyClickAP / clipboard_image_paste.
Bővítmény vagy téma letöltött forrásból
A A1 téma 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.
MÁSOLÁS a1 nyilvános / témák / 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 terminált, ahol a Dockerfile található, és hajtsd végre a következő parancsot:
dokkoló építés - my-redmine.
Amint elkészült, futtathatod a képedet:
dokkoló futtatása -p-3000: 3000 - neve my-redmine my-redmine
Nyisd meg a http://localhost:3000 címet, hogy megnézed a testreszabott Redmine-odat!
A tesztreszabott Redmine
Néhány tipp a bővítményekhez
Az új bővítmények kipróbálásához mindig jobb egy friss Redmine konté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:
dokkoló fut - rm -d -p 3000: 3000 - név teszt-redmine redmine
és lépj be a példányba:
dokkoló végrehajtja - teszt-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 addhassuk őket a Dockerfile-hoz!
A saját kép feltö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 feltöltötte a Dockerfile-t és a kapcsolódó fájlokat egy git repo-ba, és az érdeklődők maguk is építhetik a képet. De a Docker lehetővé teszi a kép feltöltését a regisztrációjukba is. Ehhez hozz létre egy fiókot a hub.docker.com-on, és hozz létre egy tárolót a képedhez. most jelentkezz be a terminálban így
dokkoló bejelentkezés
Címkézd a képedet, hogy feltölthető legyen a tárolódba
docker tag my-redmine: legújabb lcofre / redmine: legújabb
és töltsd fel így
dokkoló push lcofre / redmine: legújabb
A Docker kép a Docker regisztrációban
Most bárki kipróbálhatja a képedet azzal, hogy
dokkoló futtatása -p-3000: 3000 - neve my-redmine lcofre / redmine
Ennyi az egész! Így jut el egy szabványos Redmine telepítéstől egy a Docker regisztrációban elérhető személyre szabott verzióig. Kérem, 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 egy repo-ban található Dockerfile több sort 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 végső méretének csökkentésére az alpin verzió használatára a Redmine-ban
Redmine-től: alpesi
Az Alpine egy másik Linux disztribúció. Ahelyett, hogy az apt segítségével telepítse a csomagokat, az apk-t kell használni.
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 növeli 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 megfelelő eszközt a tökéletes projekttervezéshez, -kezeléshez és -ellenőrzéshez egyetlen szoftverben.