Cách tạo hình ảnh Docker Redmine tùy chỉnh của bạn

10/14/2023
8 perc
Lukáš Beňa.
Redmine là một trong những công cụ phổ biến nhất cho quản lý dự án và theo dõi vấn đề. Nếu bạn đã thử nó hoặc phải cài đặt nó trong một môi trường sản xuất, bạn có thể cũng bihnh docker chính thức giúp đơn giản hóa việc cài đặt và mở rộng cho môi trường yêu cầu cao.

Redmine a testreszabás előtt

Megjegyzések: A Redmine natív dokkolója megtalálható itt: https://hub.docker.com/_/redmine. Itt találhat jó utasításokat a külső adatbázis feltöltéséhez és a külső mappák csatlakoztatásához (a bővítmények telepítéséhez).

Ha olyan vagy, mint én, és inkább közvetlenül látja a Redmine Docker egyedi képének létrehozására szolgáló kódot, akkor keresse fel github.com/lcofre/redmine és ellenőrizze a Dockerfile-t.

A Redmine Docker kép jó kiindulási pont, bár valószínűleg szeretné testreszabni azt a pluginokkal és a kívánt témákkal. Ebben a útmutatóban felépítjük a hivatalos kép alapján egy Docker képet, hozzáadunk néhány témát és beépülő modult, és feltöltjük a docker nyilvántartásba.

Az egyszerűség kedvéért nem külső adatbázist, hanem belső adatbázist fogunk használni a Redmine tárolóban. A termelési környezethez azonban célszerű külön tárolótartályt felállítani.


Bővítmények és témák

Néhány beépülő modult és témát választottunk annak bemutatására, hogy hogyan változtathatjuk meg őket a Redmine-ban:

  • Az oldalsáv elrejtése, egy bővítmény, amely nagyobb képernyőterületet biztosít, különösen problémák írásakor
  • Beillesztés a vágólapra, a vágólapról beillesztő képernyőképeket csatolhatja a fájl kiválasztása helyett
  • A1 és a Gitmike, két téma a felhasználói felület megjelenésének megváltoztatásához

Kizárjuk azokat a bővítményeket, amelyek adatbázis-migrációt igényelnek, mivel szükség van egy már létező adatbázisra. Kérjük, kommentálja az alábbiakat, ha telepítenie kell egy áttelepítést igénylő plugint, mivel jó ötletek vannak az Ön számára.


A Dockerfile írása

A Dockerfile egy recept a Docker kép létrehozására. Az első tény, amit itt megtanulunk, az, hogy képet más néven kell alapoznunk, tehát a Redmine hivatalos nevét fogjuk használni

Redmine-től

A Dockerfile első sorában a legfrissebb és a legmagasabb (4.1.0) kép alapul, vagy a kép az írás idején. Mivel ez megragadja a legfrissebb verziót, inkább egy adott verziót használ, hogy elkerülje a váratlan új verziókat, amelyek megszakíthatják a kép felépítését

Redmine-től: 4.1.0


A Git segítségével az összetevők beszerzése

A legtöbb esetben a témák és a bővítmények git-tárolóval rendelkeznek, ahol letölthetjük a legújabb kódot. Ez a helyzet a következő három komponens esetében.

Az alapvető Redmine kép nem érkezik, de így adhatjuk hozzá a képhez

RUN apt install -y GIT

Ez a kép felépítésekor kerül végrehajtásra, és lehetővé teszi a git használatát az alábbi utasításokban.

Gitmike téma: azt javasolják, hogy közvetlenül klónozzák a repójukat

RUN git klón https://github.com/makotokw/redmine-theme-gitmike.git nyilvános / themes / gitmike

A sor elmenti a klónozott projektet a megfelelő nyilvános / témák mappába

Az oldalsáv elrejtése: Ugyanez az eljárás alkalmazható a bővítményekre. Ehhez csak a klónozott mappát a plugins mappába kell helyezni

RUN git klón https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Csipeszes írótábla-beillesztés: Ez is a tipikus eljárásnak tűnik, klónozza a repo-t, és jó vagy menni

RUN git klón https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

De ha te olvassa el még egy kicsit látni fogja, 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". Szóval hogyan csináljuk ezt? Olyan egyszerűnek kell lennie, mint

Futtassa a gem install rmagick szoftvert

de valószínűleg tudja, hogy a drágakövet telepítés előtt meg kell építeni, ezért a gyöngyszem telepítése előtt telepítenie kell néhány csomagot. A vonal, amire igazán szükséged van

Futtassa a telepítést - ha épít-nélkülözhetetlen imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem install rmagick

Minden egy parancsban, két sorban elválasztva az olvashatóság érdekében.

A beépülő modul eredeti szerzője nem nyújt a Redmine 4 verzióját, de a plugin nevének a GitHub-ban történő keresése egy olyan projektre engedte fel, amely: RubyClickAP / clipboard_image_paste.


Beépülő modul vagy téma hozzáadása letöltött forrásból

A A1 téma jó példa arra, hogy bemutassa azokat az eseteket, amikor megvan a forrás, de nem az URL, amely letölthető az összeállítási folyamat során. Ilyen esetekben az egyik lehetőség a forrás biztosítása az építési folyamathoz. Ily módon 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 ugyanabban a helyen kell lennie, ahol a Dockerfile.

Most már készen áll a kép elkészítésére, tehát nyisson meg egy terminált, ahol a Dockerfile található, és hajtsa végre

dokkoló építés - my-redmine.

A felépítés után képes lesz futtatni a képet a

dokkoló futtatása -p-3000: 3000 - neve my-redmine my-redmine

Menj előre, és nyisd meg a http: // localhost: 3000 elemet, hogy megnézhesd az egyedi Redmine-t!

Redmine a testreszabás után


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

Az új pluginek kipróbálásához mindig jobb, ha friss Redmine tárolót használ. Így rájöttem, hogy a rmagick bizonyos csomagok telepítését igényli. Először futtasson egy Redmine elvethető példányát a

dokkoló fut - rm -d -p 3000: 3000 - név teszt-redmine redmine

majd írja be a példányt a

dokkoló végrehajtja - teszt-redmine bash

Itt telepíthet operációs rendszer csomagokat, drágaköveket vagy futtathat áttelepítéseket. Csak emlékezzen a lépésekre, így felveheti őket a Dockerfile-be!


Az egyéni kép feltöltése a Docker Hub-ba

Az éppen létrehozott kép csak a helyi környezet számára elérhető. Mi van, ha azt akarja, hogy mások számára is elérhetővé tegyük, mondjuk mindenkinek? Természetesen feltöltheti a Dockerfile fájlt és a kapcsolódó fájlokat egy git repo-ra, és az érdeklődők maguk készíthetik a képet. De a Docker lehetővé teszi az épített kép feltöltését a nyilvántartásba. Ehhez hozzon létre egy fiókot a hub.docker.com webhelyen, és hozzon létre egy tárolót is a képéhez. Ezután jelentkezzen be a terminálba így

dokkoló bejelentkezés

Jelölje meg a képet, hogy feltölthető legyen a repójába

docker tag my-redmine: legújabb lcofre / redmine: legújabb

és nyomja meg így

dokkoló push lcofre / redmine: legújabb

A Docker kép a Docker nyilvántartásban

Most bárki kipróbálhatja a képét azáltal, hogy csinál

dokkoló futtatása -p-3000: 3000 - neve my-redmine lcofre / redmine

Ez az! Így léphet át a szokásos Redmine telepítésről a Docker nyilvántartásban elérhető személyre szabott verzióra. Kérjük, ossza meg észrevételeit vagy kérdéseit alább.


A Docker képméretének kivágása

Meg fogja találni, hogy a Dockerfile a repoban sok sort egyesített egybe. Ez egy Docker ajánlás kisebb képek készítéséhez. Ezt a tanácsot és mások itt találhatja meg https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Egy másik javaslat a kép végső méretének csökkentésére a Redmine alpesi változatának használata

Redmine-től: alpesi

Az Alpine egy másik linux eloszlás. Ahelyett, hogy apt-t használna a csomagok telepítéséhez, az apk-t kell használnia.

Az utolsó tipp: azokra a csomagokra, amelyeket az apt-vel telepítettünk a Dockerfile-ben, a kép létrehozása után már nincs szükségük. Követheti a többlépcsős felépítés használatának bevált gyakorlatait: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

A kis méretű Docker-kép megőrzésének gyakorlata különösen akkor segíti az esetek számának növelését, de csökkenti a kép támadási felületét is.

Cập nhật Redmine tối ưu nhất? Dễ dàng.

A duy nhất.

Khám phá Easy Redmine

Thử Easy Redmine trong thời gian dùng thử 30 ngày miễn phí

Đầy đủ tính năng, bảo vệ bằng SSL, sao lưu hàng ngày, tại vị trí địa lý của bạn