Как да създадете персонализиран Docker образ на Redmine
Redmine преди персонализация
Забележка: Можете да намерите нативния докер на Redmine на https://hub.docker.com/_/redmine. a а инсталирате плъгини).
Ако сте като мен и предпочитате да видите директно кода за изграждане на персонализиран Docker образ на Redmine, можеоета github.com/lcofre/redmine и да проверите Dockerfile.
Образът на Redmine Docker е добро начало, въпреки че вероятно бихте искали да го персонализирате с плъгини и по вакушини и по терсонализирате с плъгини и по В това ръководство ще изградим Docker образ, базиран на официалния, ще добавим някои теми и проградим и плъгени и ще
Заради опростяване, няма да използваме външна база данни, а вместо това вътрешна база данни в самине конте Redmine. За производствена среда обаче е препоръчително да се настрои отделен контейнер за съхранение.
Плъгини и теми
Избрахме няколко плъгина и теми, за да илюстрираме различни начини за добавяне им към Redmine:
- Скриване на страничната лента, плъгин, който позволява повече място на екрана, особено при писане на проблеми
- Поставяне на изображения от клипборда, за да прикрепите снимки, като поставите от клипборда вместо да избирате файл
- A1 и Gitmike, две теми, за да промените изгледа на потребителския интерфейс
Изключваме плъгини, които изискват миграция на базата данни, тъй като ви е необходима предвазнъстелно съ Моля, коментирайте по-долу, ако имате нужда да инсталирате плъгин, който изисква миграции, тъайбрирайте по-долу, ако имате нужда да инсталирате плъгин, който изисква миграции, тъай като дмо.
Написване на Dockerfile
Dockerfile е рецепта за изграждане на Docker образ. Първото нещо, което ще научим тук, е, че трябва да базираме нашия образ на друг образ, така чезачим тук, така че полщо
Redmine-től
Този първи ред от Dockerfile ще базира или образ на последния и най-добър образ, 4.1.0 в момента на писане. Тъй като това ще хване каквато и да е версия, която е най-нова, може да предпочетете да използвате конкретна, вергиая, вергиа чаквани нови версии, които могат да нарушат изграждането на този образ
Redmine-től: 4.1.0
Използване на Git за получаване на компонентите
В повечето случаи темите и плъгините имат git хранилища, от където можем да изтеглим найд.новия Това е така за следните три компонента.
Основното изображение на Redmine идва без git, но можем да го добавим към изображението по следния начин:
RUN apt install -y GIT
Това ще бъде изпълнено, когато изображението се създаде и ще ви позволи да използвате git в следицващи.
Téma Gitmike: те препоръчват да клонирате директно техния репо
RUN git klón https://github.com/makotokw/redmine-theme-gitmike.git nyilvános / themes / gitmike
Тази линия ще запази клонирания проект в подходящата папка public/themes
Скриване на страничната лента: Същата процедура може да се приложи и за плъгини. Този изисква само поставянето на клонираната папка в папката на плъгините
RUN git klón https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Csipeszes írótábla-beillesztés: Това също изглежда като типичната процедура, клонирайте репото и сте готови да продължите
RUN git klón https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
Но ако прочетете малко повече, ще видите, че "се препоръчва да се инсталира гемът RMagick, в противен случай прикачепокените изобнраяжените тираните PDF файлове". Така че как да го направим? Трябва да бъде толкова лесно, колкото:
Futtassa a gem install rmagick szoftvert
но вероятно знаете, че гемът трябва да бъде построен, преди да може да бъде инсталиран, така инконябва реди да инсталирате гема. Линията, която наистина ви трябва, е:
Futtassa a telepítést - ha épít-nélkülözhetetlen imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& gem install rmagick
Всичко в една команда, разделена на две реда за по-добра четимост.
Оригиналният автор на този плъгин не предоставя версия за Redmine 4, но търсенето на името на плъгина в довей довей в плъгина в GitHub ме : RubyClickAP / clipboard_image_paste.
Добавяне на плъгин или тема от изтеглен източник
Темата A1 е добър пример за илюстриране на случаите, когато имате източника, но не и URL за изтегляне по времеса на прочаите. Една опция в такива случаи е да предоставите източника на процеса на създаване. Така съдържанието се добавя към изображението без да се изтегля.
MÁSOLÁS a1 nyilvános / témák / a1
Това изисква папката a1 да бъде на същото място, където е Dockerfile.
Сега сте готови да създадете изображението си, така че отворете терминал там, където е Dockerfile, и изетпълнн
dokkoló építés - my-redmine.
След като е създадено, ще можете да стартирате изображението си с
dokkoló futtatása -p-3000: 3000 - neve my-redmine my-redmine
Отворете http://localhost:3000, за да видите персонализирания си Redmine!
Redmine след персонализация
Някои съвети за добавяне на повече плъгини
За да опитате нови плъгини, винаги е по-добре да използвате свеж контейнер на Redmine. Така разбрах, че rmagick изисква инсталиране на някои пакети. Първо, стартирайте изтриваема инстанция на Redmine с
dokkoló fut - rm -d -p 3000: 3000 - név teszt-redmine redmine
и след това влезте в инстанцията с
dokkoló végrehajtja - teszt-redmine bash
Там можете да инсталирате OS пакети, гемове или да изпълните миграции. Просто запомнете стъпките, за да ги добавите към Dockerfile!
Качване на персонализирано изображение в Docker Hub
Изображението, което току-що построихте, е достъпно само за вашата локална среда. Какво ако искате да го направите достъпно за други, кажете за всички? Разбира се, можете да качите Dockerfile и свързаните файлове в git repo, и заинтересованите могат да позенитораж. Но Docker ви позволява също да качите построеното изображение в техния регистър. За това създайте акаунт в hub.docker.com и също така създайте хранилище за изображението си. След това влезте в терминала по следния начин
dokkoló bejelentkezés
Маркирайте изображението си, така че да може да бъде качено във вашето хранилище
docker tag my-redmine: legújabb lcofre / redmine: legújabb
и го качете по следния начин
dokkoló push lcofre / redmine: legújabb
Изображението a Docker в Docker регистъра
Сега всеки може да опита вашето изображение, като направи
dokkoló futtatása -p-3000: 3000 - neve my-redmine lcofre / redmine
Това е! Така можете да преминете от стандартен инсталиран Redmine до персонализирана версия, достъпна в Docker регистъра. Моля, споделете коментарите или въпросите си по-долу.
Намаляване на размера на Docker изображението
Ще откриете, че Dockerfile repo съединява много редове в един. Това е препоръка на Docker, за да се направят по-малки изображения. Можете да намерите този съвет и други в https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Още една препоръка за намаляване на крайния размер на изображението е да използвате алпайн версията на Redmine
Redmine-től: alpesi
Алпайн е различно дистрибуция Linux alatt. Вместо да използвате apt за инсталиране на пакети, трябва да използвате apk.
Още един съвет: пакетите, които инсталирахте с apt в Dockerfile, вече не са нужни след като изображепострое. Можете да следвате най-добрата практика за използване на многоетажни построения: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
Практиката да се поддържа малко Docker изображение помага особено при увеличаване на броя на инстанцитка та повърхност на изображението ви.
Крайната надстройка на Redmine? Лесна.
Получете всички мощни инструменти за перфектно планиране, управление и контрол в един софтуер.