Как да създадете персонализиран Docker образ на Redmine

6/16/2020
9 minut
Лукъш Беня
Редмайн е един от най-популярните инструменти за управление на проектиа просленедя Ако сте го опитали или сте трябвало да го инсталирате в производствена сретада, верозинтная циален Docker образ, който значително опростява инсталирането и мащабирането за средиорсо висто

Redmine преди персонализация

Забележка: Можете да намерите нативния докер на Redmine на https://hub.docker.com/_/redmine. Тук можете да намерите и добри инструкции за това как да попълните външна бамнина бамнина ншни папки (за да можете да инсталирате плъгини).

Ако сте като мен и предпочитате да видите директно кода за изграждане на пиерсонана на персонана ожете да отидете на github.com/lcofre/redmine a použijte Dockerfile.

Образът на Redmine Docker е добро начало, въпреки че вероятно бихте искали да го персониенали a по ваш вкус. В това ръководство ще изградим Docker образ, базиран на официалния, ще добавим негико го качим v docker регистъра.

Заради опростяване, няма да използваме външна база данни, а вместо това възваме я контейнер na Redmine. За производствена среда обаче е препоръчително да се настрои отделен коннтейнер да се настрои


Плъгини и теми

Избрахме няколко плъгина и теми, за да илюстрираме различни начини зъ добавяне

Изключваме плъгини, които изискват миграция на базата данни, тъй катовибритидови е нене о съществуваща база данни. Моля, коментирайте по-долу, ако имате нужда да инсталирате плъгин, който изтискийкам ме добри идеи за вас.


Není k dispozici na Dockerfile

Dockerfile je přepnut na verzi Dockeru. Първото нещо, което ще научим тук, е, че трябва да базираме нашия образ на одраза на друзе ползваме официалния за Redmine

Z Redmine

Този първи ред od Dockerfile ще базира или образ на последния на последния и най-добър обнраз, 4.1.0инанва Тъй като това ще хване каквато и да е версия, която е най-нова, може да предтеолпочева кретна версия, за да избегнете неочаквани нови версии, които могат да нарушатот изозинрат изегнрат изогнрат

Z Redmine: 4.1.0


Използване на Git за получаване на компонентите

В повечето случаи темите a плъгините имат git хранилища, от където мложем дговизето мложем да изимте Това е така за следните три компонента.

Основното изображение на Redmine идва без git, но можем да го добавим към изобтражнение

SPUSTÍTE apt install -y git

Това ще бъде изпълнено, когато изображението се създаде и ще ви позаволи позаволи позаволи полес иде те инструкции.

Téma Gitmike: те препоръчват да клонирате директно техния репо

RUN git klon https://github.com/makotokw/redmine-theme-gitmike.git public / themes / gitmike

Тази линия ще запази клонирания проект в подходящата папка public/themes

Скриване на страничната лента: Същата процедура може да се приложи и за плъгини. Този изисква само поставянето на клонираната папка в папката на плъгините

RUN git klon https://gitlab.com/bdemirkir/sidebar_hide.git pluginy / sidebar_hide

Vložit obrázek schránky: Това също изглежда като типичната процедура, клонирайте репото и сте готови дида

RUN git klon https://github.com/RubyClickAP/clipboard_image_paste.git pluginy / clipboard_image_paste

Ani jako прочетете малко повече, ще видите, че "се препоръчва да се инсталира гемът RMagick, в противен случЏй перинекай принекай принекай ма да се показват в експортираните PDF файлове". Така че как да го направим? Трябва да бъде толкова лесно, колкото:

RUN gem nainstalovat rmagick

но вероятно знаете, че гемът трябва да бъде построен, предит да можалнода бъде построен, предити да можална даетин ябва да инсталирате някои пакети преди да инсталирате гема. Линията, която наистина ви трябва, е:

SPUSTÍTE apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem install rmagick

Всичко в една команда, разделена на две реда за по-добра четимост.

Оригиналният автор на този плъгин не предоставя версия за Redmine 4, bez търсенето на на нам ме доведе до проект, който го прави: RubyClickAP / clipboard_image_paste.


Добавяне на плъгин или тема от изтеглен източник

Téma A1 е добър пример за илюстриране на случаите, когато имате източника, но не иза ипроне не за ипронете оцеса на създаване. Една опция в такива случаи е да предоставите източника на процеса на създаване. Така съдържанието се добавя към изображението без да се изтегля.

KOPIE a1 veřejné / témata / a1

Това изисква папката a1 да бъде на същото място, където е Dockerfile.

Сега сте готови да създадете изображението си, така че озъъ už т и и и и и и и

stavitel doku -t můj-redmine.

След като е създадено, ще можете да стартирате изображението си с

docker run -it -p 3000: 3000 - jméno my-redmine my-redmine

Vytvořte http://localhost:3000, pokud chcete použít Redmine!

Redmine след персонализация


Някои съвети за добавяне на повече плъгини

За да опитате нови плъгини, винаги е по-добре да използвате свеж контейнер на Redmine. Така разбрах, че rmagick изисква инсталиране на някои пакети. Първо, стартирайте изтриваема инстанция на Redmine с

docker run - rm -d -p 3000: 3000 - jméno test-redmine redmine

и след това влезте в инстанцията с

docker exec -it test -redmine bash

Там можете да инсталирате OS пакети, гемове или да изпълните миграции. Chcete-li vytvořit soubor, můžete jej přidat do Dockerfile!


Качване на персонализирано изображение v Docker Hub

Изображението, което току-що построихте, е достъпно само за вашата локална среда. Какво ако искате да го направите достъпно за други, кажете за всички? Разбира се, можете да качите Dockerfile a свързаните файлове v git repo, a заинтересованитите опопозаните жението сами. Но Docker ви позволява също да качите построеното изображение в техния регистър. За това създайте акаунт na hub.docker.com a също така създайте хранилище за изображени.ето След това влезте в терминала по следния начин

přihlášení do doku

Маркирайте изображението си, така че да може да бъде качено във вашето хранилище

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

a го качете по следния начин

dokovací push lcofre / redmine: nejnovější

Изображението на Docker v Docker регистъра

Сега всеки може да опита вашето изображение, като направи

docker run -it -p 3000: 3000 - jméno my-redmine lcofre / redmine

To je! Така можете да преминете от стандартен инсталиран Redmine do персонализирана версинализирана версиналия, достревъ, достревъ Моля, споделете коментарите или въпросите си по-долу.


Намаляване на размера на Docker изображението

Ще откриете, че Dockerfile v repo съединява много редове в един. Pokud jste na Docker, nebyli jste mezi nimi. Можете да намерите този съвет и други в https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Още една препоръка за намаляване на крайния размер на изображенсието е да изпеверзиватавернзиватавернзиватаверзиватеволзиватавернзиватеволзиватеволзиватеволзиватерния Redmine

Z Redmine: alpine

Алпайн е различно дистрибуция na Linux. Вместо да използвате apt за инсталиране на пакети, трябва да използвате apk.

Още един съвет: пакетите, които инсталирахте с apt в Dockerfile, вече не са нужни след катопоионстрато ионенстрато ионенорато ионенотрато ионенсотрепо ионенотрато ионенотрато иопенсотро ионенотрей Можете да следвате най-добрата практика за използване на многоетажни построения: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Практиката да се поддържа малко Docker изображение помага особено при увеличавтинеонона на също така намалява атакуемата повърхност на изображението ви.

Крайната надстройка на Redmine? Лесна.

Получете всички мощни инструменти за перфектно планиране, управление и контрол всоредин

Stáhněte si Easy Redmine

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

Пълни функции, защитени с SSL, ежедневни резервни копия, във вашата географска лока