Как да създадете собствен Docker като Redmine.

6/16/2020
8 минути
Лукаш Бена
Redmine е един от най-популярните устройства за решаване на проекти и проблеми с проследяването. Pokud jste ho vyzkoušeli nebo museli instalovat v produkčním prostředí, pravděpodobně také víte, že съществува oficiální docker image, který výrazně zjednodušuje install a skálování pro vysokonáročné prostředí.

Redmine преди управлението

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

Ако искате да видите кода за създаване на собствено изображение на Redmine Docker, можете да го използвате github.com/lcofre/redmine a zkontrolovat Dockerfile.

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

Съединено решение, не можете да използвате външни бази данни, но вътрешни бази данни в самотния контейнер Redmine. Pro produkční prostředí je však vhodné nastaviт dedikovaný úložný kontejner.


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

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

Vylučujeme pluginy, které vyžadují migraci databáze, protože potřebujete předem existující databázi. Pokud potřebujete nainstalovat plugin, který potřebuje migrace, prosím, komentujte níže, protože máme pro vás dobré nápady.


Psaní Docker файл

Dockerfile е приемник, както и създаване на Docker изображение. První věc, kterou se zde naučíme, je, že musíme založit náš obrázek na nějakém jiném obrázku, takže použijeme oficiální obrázek za Redmine.

ОТ Redmine

Този първи файл Dockerfile ще бъде заложен или изображение на най-новото и най-недобро изображение, 4.1.0 в době psani. Protože to zachytí jakoukoli verzi, která je nejnovější, můžete upřednostnit použití konkrétní verze, aby se zabránilo neočekávaným novým verzím, které mohou rozbít sestavení tohoto obrázku.

ОТ Redmine: 4.1.0


Използвайте Gitu за získání компонент

Většina témat a pluginů má gitové repozitáře, odkud můžeme stáhnout nejnovější kód. To platí pro následující tři komponenty.

Základní Redmine obraz neobsahuje Git, ale můžeme ho přidat do obrazu následujícím způsobem

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

Toto ще бъде проведено за sestavování obrazu и можете да използвате Git в следващите инструкции.

Тема Гитмике: doporučují klonovat jejich repozitář přímo

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

Tento řádek uloží klonovaný projekt do příslušné složky public/themes

Skrytí postranního panelu: Stejný postup lze použít i pro pluginy. Tento vyžaduje pouze umístění klonované složky do složky pluginů

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

Вложено изображение в клипборда: Toto také vypadá jako typický postup, naklonujte repozitář a můžete začít

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

Але покуд si přečtete více, вижте, тъй като „се препоръчва да инсталирате gem RMagick, след като изображението ще бъде представено неизображено в експортирания файл PDF“. Jak to tedy uděláme? Mělo by to být tak snadné jako

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

ale pravděpodobně víte, že gem musí být sestaven před instalací, takže musíte nainstalovat některé balíčky před instalací gemu. Řádek, který skutečně potřebujete, je

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

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

Vše v jednom příkazu, rozděleno na dvě řádky pro čitelnost.

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


Přidání pluginu nebo tématu z staženého zdroje

Тема A1 je dobrým příkladem pro ilustraci případů, kdy máte zdroj, ale nemáte URL k jeho stažení během procesu sestavování. Една възможност в таковých případech е poskytnout zdroj procesu sestavování. Tím se obsah přidá do obrazu bez jeho stahování

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

За да видите, aby složka a1 трябва да бъде на stejném místě като Dockerfile.

Nyní jste připraveni sestavit svůj obraz, takže otevřete terminal tam, kde е вашият Dockerfile, и spusťte

docker build -t my-redmine.

Jednou sestavený budete moci spustit svůj obraz s

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

Отидете и отворете http://localhost:3000, без да видите своя собствен Redmine!

Redmine по управление


Няколко типове, както и добавяне на други плъгини

Ако е възможно да се използва нов плъгин, ще бъде по-добре да използвате нов контейнер Redmine. Tak jsem zjistil, že rmagick vyžaduje některé balíčky k instalacija. Nejprve spusťte odstraňovatelnou instanci Redmine s

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

a poté vstupte do instance s

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

Можете да инсталирате OS balíčky, но не можете да мигрирате. Ако искате да запазите стъпките си, можете да добавите към своя Dockerfile!


Настройте вашето собствено изображение на Docker Hubu

Obrázek, který jste právě vytvořili, je dostupný pouze v místním prostředí. Co když ho chcete udělat dostupným pro ostatní, řekněme pro všechny? Samozřejmě můžete nahrát Dockerfile a související soubory do git repozitáře a zájemci si mohou sami sestavit obrázek. Ale Docker vám také umožňuje nahrát sestavený obrázek to jejich register. Pro to vytvořte účet na hub.docker.com и také vytvořte repozitář pro svůj obrázek. Poté se přihlaste v terminálu takto

вход за докер

Označte svůj obrázek, aby mohl být nahrán do vašeho repozitáře

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

a nahrajte ho takto

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

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

Nyní si může kdokoli vyzkoušet váš obrázek tak, že provede

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

To je vše! Това се доставя от безжична инсталация Redmine на персонализирана версия, достъпна в регистъра на Docker. Prosím, sdílejte své komentáře nebo otázky níže.


Намалени големини Docker изображение

Zjistíte, že Dockerfile в репозитари spojil mnoho řádků do jednoho. Това е препоръчано от Dockeru, както и показва по-малко изображение. Toto a daljší rady find na https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

По-нататъшно препоръка, както и изображението с конечен размер, можете да използвате алпийския вариант на Redmine

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

Alpine е дистрибуция на Linux. Místo použití apt k install balíčků musíte použít apk.

Една последна работа: balíčky, které jsme инсталираха с помощта на apt в Dockerfile, след като създаденото изображение не се използва. Můžete dodržovat nejlepší postup použitím vícestupňových sestavení: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Praxe udržování malého Docker obrázku pomáhá zejména při skálování počtu instancí, ale také snižuje útokovou plochu vašeho obrázku.

Не можете ли да надстроите Redmine? Snadný.

Získejte všechny mocné nástroje za dokonalé planování, řízení и контрол на проекта в един софтуер.

Цел Easy Redmine

Изкушете Easy Redmine за 30 дни безплатно

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