Това е собствено изображение на Redmine Docker.

6/16/2020
9 минути
Лукаш Беня.
Redmine е един от най-популярните инструменти за управление на проекти и проследяване на проблеми. Als het hebt geprobeerd of mostest installeren in een productieomgeving, weet je waarschijnlijk ook dat er een officiële docker image is die de installatie en schaalbaarheid voor high-demand omgevingen sterk vereenvoudigt.

Redmine vóóó aanpassing

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

Als u, net als ik, de code voor het bouwen van een aangepaste Redmine Docker-image direct wilt zien, kunt u naar github.com/lcofre/redmine изведете най-добрия файл на Dockerfile.

Изображението на Docker на Redmine е стартирано, но трябва да използвате плъгини и тема на темата. При обработката на тези изображения ние използваме Docker-image на базата на официална версия, някои теми и добавки, които се добавят и качват до docker-register.

Voor de eenvoud zullen we geen externe database gebruiken, maar een interne database in de Redmine-container zelf. Voor een productieomgeving is het echter raadzaam om een ​​toegewijde opslagcontainer op te zetten.


Добавки и теми

We bben een paar plug-ins en thema's gekozen om gevarieerde manieren te illustreren om ze aan Redmine toe te voegen:

Ние използваме плъгини за проверка на миграцията на база данни, така че да не можете да получите най-добрата база данни. Laat hieronder een reactie achter als u een plug-in moet installeren die migrates nodig heeft, omdat we goede ideeën voor u hebben.


Het Dockerfile-bestand shrijven

Един Dockerfile е рецепта за поставяне на Docker изображение. Het eerste feit dat we hier zullen leren, is dat we ons beeld moeten baseren op een ander beeld, dus we zullen het officiële beeld voor Redmine gebruiken

ОТ Redmine

Това е най-новият режим от най-добрата версия на Dockerfile, която е базирана на най-новото и най-доброто изображение, 4.1.0 в момента, в който е написана. Omdat dit de nieuwste versie pakt, kunt u ervoor kiezen om een ​​specifieke versie te gebruiken om onverwachte nieuwe versies te vermijden die de bouw van dit beeld kunnen breken

ОТ Redmine: 4.1.0


Gebruik Git om de componenten te krijgen

В deeste gevallen hebben thema's en plugins git-repositories waar we de neuwste code kunnen downloaden. Това е het geval voor de volgende drie componenten.

De basis Redmine-image wordt geleverd zonder git, maar we kunnen het op deze manier aan de image toevoegen

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

Dit wordt uitgevoerd wanneer de image wordt gebouwd en stelt u in staat om git te gebruiken in de volgende instructies.

Gitmike-тема: ze raden aan om hun repo direct te klonen

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

Този проект е подходящ за публични/теми на картата

Отстраняване на страничната лента: Dezelfde процедура може да се използва за добавяне на плъгини. Deze vereist niets meer dan het plaatsen van de gekloonde map in de plugins-map

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

Плака за показване на клипборда: Dit lijkt ook de typische procedure te zijn, kloon de repo en je bent klaar om te gaan

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

Maar als je een beetje meer leest zul je zien dat "het aanbevolen wordt om de RMagick-gem te installeren, other worden bijgevoegde afbeeldingen niet weergegeven in geëxporteerde PDF-bestanden". Dus hoe doen we dit? Het zou zo eenvoudig moeten zijn als

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

maar je weet waarschijnlijk dat de gem moet worden gebouwd voordat deze kan worden geïnstalleerd, dus je moet wat packetten installeren voordat je de gem installeert. De regel die je echt nodig hebt is

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

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

Allemaal in één opdracht, verdeeld over twee regels voor leesbaarheid.

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


Een plugin of thema toevoegen vanuit een gedownloade bron

В А1-тема is een goed voorbeeld om de gevallen te illustreren waarin u de bron heeft, maar geen URL om tijdens het bouwproces te downloaden. Een optie in gevallen als deze is om de bron aan het bouwproces te leveren. Op die manier wordt de inhoud aan de image toegevoegd zonder deze te downloaden

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

Тук можете да видите a1-карта при инсталиране на Dockerfile.

Nu ben je klaar om je image te bouwen, dus open een terminal waar je Dockerfile staat en voer uit

docker build -t my-redmine.

Zodra het is gebouwd, kunt u uw image uitvoeren met

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

Направете http://localhost:3000, за да поставите Redmine te zien!

Redmine и преминаване


Enkele съвети за повече плъгини toe te voegen

Всички нови плъгини, които можете да проверите, са по-високи от новия Redmine-контейнер, който можете да използвате. Zo kwam ik erachter dat rmagick enkele packagetten moest installeren. Voer eerst een wegwerpexemplaar van Redmine uit met

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

en ga vervolgens naar de instantie met

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

Можете да инсталирате OS пакети, инсталациите на скъпоценни камъни на миграциите са създадени. Onthoud gewoon de stappen zodat u ze aan uw Dockerfile kunt toevoegen!


Поставяте изображение, качено в Docker Hub

De afbeelding die je zojuist hebt gebouwd is alleen beschikbaar voor je lokale omgeving. Wat als je het beschikbaar wilt maken voor anderen, laten we zeggen voor iedereen? Natuurlijk kun je de Dockerfile en gerelateerde bestanden uploaden naar een git-repo en kunnen geïnteresseerden de afbeelding zelf bouwen. Maar Docker staat je ook toe om de gebouwde afbeelding naar hun register te uploaden. Направете акаунт в hub.docker.com и направете хранилище за гледане. Регистрирайте се в терминала като напрежение

вход за докер

Tag je afbeelding zodat deze kan worden geüpload naar je repo

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

en натиснете het als volgt

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

De Docker-afbeelding в този Docker-register

Nu kan iedereen je afbeelding uitproberen door het volgende te doen

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

Това е хет! Zo ga je van een standard Redmine-installatie naar een gepersonaliseerde versie die toegankelijk is in het Docker-register. Deel alsjeblieft je opmerkingen of vragen hieronder.


Het format van de Docker-afbeelding verkleinen

Je zult merken dat de Docker файл в репо veel regels heeft samengevoegd tot één. Това е скосяване на Docker, когато сте направили kleinere afbeeldingen te maken. Je kunt dat advies en andere vinden op https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Nog een aanbeveling om de uiteindelijke grootte van de afbeelding te verminderen, is om de alpine-versie van Redmine te gebruiken

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

Alpine е друга Linux дистрибуция. In plaats van apt te gebruiken om packagetten te installeren, moet je apk gebruiken.

Nog een laatste tip: de packetten die we hebben geïnstalleerd met apt in de Dockerfile zijn niet meer nodig nadat de afbeelding is gebouwd. Имате най-добри практики, използвани от многоетапни компилации: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

De praktijk om een ​​kleine Docker-afbeelding te behouden helpt vooral bij het opschalen van het aantal instanties, maar vermindert ook het aanvalsoppervlak op je afbeelding.

Последен ъпгрейд на Redmine? Makkelijk.

Съберете всички крахтидж инструменти за перфектно планиране на проекти, -beheer en -control в друг софтуер.

Ontdek Easy Redmine

Probeer Easy Redmine 30 дни безплатно

Разнообразни функции, SSL-обслужване, актуални резервни копия, във вашето географско местоположение