如何创建您自定义的Redmine Docker镜像

10/22/2023
8 minut
卢卡什·贝尼
Redmine是最受欢迎的项目管理和问题跟踪工具之一。如果您尝试过尝试过它或者它或者它或者帍徾丣不徣丣它,您可能也知道有一个官方的Docker镜像,可以极大地简化安装和满装和满豕以满豕以满豕以满需求环境的要求。

Před přizpůsobením Redmine

Poznámka: Redmine native docker can be found on https://hub.docker.com/_/redmine. Zde také můžete najít dobrý návod, jak naplnit externí databázi a připojit externí složky (aby bylo možné nainstalovat pluginy).

Pokud jste jako já a raději přímo uvidíte kód pro vytvoření vlastního obrázku Redmine Docker, můžete jít na github.com/lcofre/redmine a zkontrolujte Dockerfile.

Obrázek doku Redmine Docker je dobrým výchozím bodem, ale pravděpodobně byste jej chtěli přizpůsobit pomocí zásuvných modulů a témat podle svých představ. V tomto návodu vytvoříme obrázek Docker na základě oficiálního, přidáme některá témata a pluginy a nahrajeme ho do ukotvitelného registru.

Pro jednoduchost nebudeme používat externí databázi, ale interní databázi v samotném kontejneru Redmine. Pro produkční prostředí je však vhodné nastavit vyhrazený úložný kontejner.


Pluginy a témata

Pro ilustraci různých způsobů, jak je přidat do Redmine, jsme vybrali několik pluginů a témat:

  • Skrýt postranní panel, plugin umožňující více místa na obrazovce, zejména při psaní problémů
  • Vložit schránku, připojte snímky obrazovky vložené ze schránky místo výběru souboru
  • A1 a Gitmike, dvě témata pro změnu vzhledu uživatelského rozhraní

Vylučujeme pluginy, které vyžadují migraci databáze, protože potřebujete již existující databázi. Pokud potřebujete nainstalovat zásuvný modul, který vyžaduje migraci, komentář níže, protože pro vás máme dobré nápady.


Psaní souboru Dockerfile

Dockerfile je recept, jak vytvořit obrázek Docker. První fakt, který se zde naučíme, je, že musíme založit svůj obrázek na jiném obrázku, takže použijeme oficiální obrázek pro Redmine

Z Redmine

Tento první řádek souboru Dockerfile bude v době psaní založen na posledním a největším obrázku, 4.1.0. Protože se tím uchopí jakákoli verze, která je nejnovější, můžete raději použít konkrétní verzi, abyste se vyhnuli neočekávaným novým verzím, které mohou narušit sestavení tohoto obrázku

Z Redmine: 4.1.0


Použití Git k získání komponent

Témata a pluginy mají ve většině případů úložiště git, kde si můžeme stáhnout nejnovější kód. To je případ následujících tří složek.

Základní obrázek Redmine přichází bez gitu, ale můžeme jej přidat do obrázku tímto způsobem

SPUSTÍTE apt install -y git

To bude provedeno po vytvoření obrazu a umožní vám použít git v následujících pokynech.

Gitmike téma: doporučují přímo klonovat jejich repo

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

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

Skrýt postranní panel: Stejný postup lze použít i pro pluginy. Toto nevyžaduje nic víc než umístění klonované složky do složky pluginů

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

Vložit obrázek schránky: To se také jeví jako typický postup, klonujte repo a vy jste hodní jít

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

Ale jestli vy číst trochu víc uvidíte, že „doporučujeme nainstalovat drahokam RMagick, jinak se připojené obrázky nebudou zobrazovat v exportovaných souborech PDF“. Jak to tedy uděláme? Mělo by to být stejně snadné jako

RUN gem nainstalovat rmagick

ale pravděpodobně víte, že klenot musí být postaven před instalací, takže musíte nainstalovat nějaké balíčky před instalací klenotu. Linka, kterou opravdu potřebujete, je

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

       && gem install rmagick

Vše v jednom příkazu, oddělené ve dvou řádcích, aby bylo možné číst.

Původní autor tohoto pluginu neposkytuje verzi pro Redmine 4, ale hledání názvu pluginu v GitHub mě přistoupilo k projektu, který: RubyClickAP / clipboard_image_paste.


Přidání pluginu nebo motivu ze staženého zdroje

Projekt Téma A1 je dobrým příkladem pro ilustraci případů, kdy máte zdroj, ale nikoli adresu URL ke stažení během procesu sestavení. Jednou z možností v takovýchto případech je poskytnout zdroj pro stavební proces. Tímto způsobem je obsah přidán do obrázku bez jeho stažení

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

To vyžaduje, aby složka a1 byla na stejném místě jako soubor Dockerfile.

Nyní jste připraveni vytvořit svůj obrázek, takže otevřete terminál, kde je váš Dockerfile a spusťte jej

stavitel doku -t můj-redmine.

Po vytvoření budete moci spustit svůj obrázek

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

Pokračujte a otevřete http: // localhost: 3000 a uvidíte svůj vlastní Redmine!

Redmine po úpravě


Několik tipů, jak přidat další pluginy

Chcete-li vyzkoušet nové pluginy, je vždy lepší použít čerstvý kontejner Redmine. Takto jsem si uvědomil, že rmagick vyžaduje instalaci některých balíčků. Nejprve spusťte vyřazovací instanci Redmine

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

a potom zadejte instanci pomocí

docker exec -it test -redmine bash

Tam můžete instalovat OS balíčky, drahokamy nebo spouštět migrace. Jen si pamatujte tyto kroky, abyste je mohli přidat do svého Dockerfile!


Nahrajte svůj vlastní obrázek do Docker Hubu

Obrázek, který jste právě vytvořili, je k dispozici pouze pro místní prostředí. Co když chcete zpřístupnit ostatním, řekněme všem? Samozřejmě můžete nahrát soubor Dockerfile a související soubory do repozitáře git a zájemci si mohou vytvořit obrázek sami. Docker však také umožňuje nahrát vytvořený obrázek do jejich registru. Za tímto účelem vytvořte účet na adrese hub.docker.com a také vytvořte úložiště pro svůj obrázek. Poté se přihlaste do terminálu jako je tento

přihlášení do doku

Označte svůj obrázek, aby mohl být nahrán na vaše repo

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

a tlačit to takto

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

Obrázek Docker v registru Docker

Nyní si může kdokoli vyzkoušet svůj obrázek

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

A je to! Takto přecházíte od standardní instalace Redmine k personalizované verzi dostupné v registru Docker. Prosím, podělte se o své komentáře nebo dotazy níže.


Oříznutí velikosti obrazu Docker

Zjistíte, že Dockerfile v repo spojil mnoho linek do jedné. Toto je doporučení Docker pro vytváření menších obrázků. Tuto radu a další najdete v https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Dalším doporučením ke zmenšení konečné velikosti obrázku je použití alpské verze Redmine

Z Redmine: alpine

Alpine je jiná linuxová distribuce. Namísto použití apt k instalaci balíků je třeba použít apk.

Jeden poslední tip: balíčky, které jsme nainstalovali s apt v Dockerfile, již nejsou potřeba po vytvoření obrazu. Můžete postupovat podle osvědčeného postupu při použití vícestupňových sestavení: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Praxe udržování obrazu Docker malé velikosti pomáhá zejména při zvyšování počtu případů, ale také snižuje útočnou plochu na vašem obrázku.

最终的Redmine升级?轻松搞定。

在一个软件中获得完美的项目规划、管理和控制的强大工具。

发现Easy Redmine

尝试Easy Redmine 30天免费试用

完整功能,SSL 保护,每日备份,在您的地理位置