en
Jazyk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI překlad
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Jak vytvořit vlastní obrázek Redmine Docker

6/16/2020
8 minut
Lukáš Beňa
Redmine je jedním z nejoblíbenějších nástrojů pro řízení projektů a sledování problémů. Pokud jste to zkusili nebo jste jej museli nainstalovat v produkčním prostředí, pravděpodobně také víte, že existuje oficiální obraz dockeru, který výrazně zjednodušuje instalaci a škálování pro prostředí s vysokou poptávkou.

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.

Dokonalý upgrade Redmine? Snadný.

Získejte všechny výkonné nástroje pro dokonalé plánování, správu a řízení projektů v jednom softwaru.

Objevte Easy Redmine

Vyzkoušejte Easy Redmine ve 30denní bezplatné zkušební verzi

Plné funkce, chráněné SSL, denní zálohy ve vaší geolokaci