Přijďte si vytvořit osobní představu Dockeru z Redmine.

6/16/2020
9 minut
Lukáš Beňa -> Lukáš Beňa
Redmine è uno degli strumenti più popolari per la gestione dei progetti e il tracciamento dei problemi. Se lo hai provato nebo hai dovuto installarlo in un ambiente di produzione, probabilmente sai anche che c'è un'immagine docker ufficiale che semplifica notevolmente l'installazione and la scalabilità per gli ambienti ad alta homenda.

Redmine prima della personalizzazione

poznámka: Redmine nativo docker può essere trovato su https://hub.docker.com/_/redmine. Qui puoi trovare anche buone istruzioni su come popolare un database esterno e montare cartelle esterne (poter installare plugin).

Sei come me e preferisci viewre direttamente il code for la creazione di un'immagine Docker personalizzata di Redmine, puoi andare su github.com/lcofre/redmine Ovládejte Dockerfile.

L'immagine Docker di Redmine è un bon punto di partenza, anche se probabilmente vorresti personalizzarla con plugin and the this a this piacimento. V questo how-to, costruiremo un'immagine Docker basata su quella ufficiale, aggiungeremo alcuni temi a plugin a la caricheremo nel registro docker.

Samostatně se nepoužívá databáze původní databáze a interní databáze v síti Redmine. Tuttavia, per un ambiente di produzione, è consigliabile configurare un contenitore di archiviazione dedicato.


Pluginy a motivy

Abbiamo scelto alcuni plugin a položky pro ilustraci různých modalità di aggiunta a Redmine:

  • Nascondi la barra laterale, un plugin za souhlas più spazio sullo schermo, soprattutto durante la scrittura di problemi
  • Incolla dagli appunti, podle allegare screenshot incollando dagli appunti invece di selezionare un file
  • A1 e Gitmike, due temi per cambiare l'aspetto dell'interfaccia utente

Escludiamo a plugin je bohatý na migraci do databáze, který je nutný k zachování databáze. Komentář k tomu, aby se nainstaloval plugin pro bohatý migrazioni, poiché abbiamo buone idea per te.


Scrivere il Dockerfile

Un Dockerfile è una ricetta su come creare un'immagine Docker. La prima cosa che impareremo qui è che dobbiamo basare la nostra immagine su un'altra immagine, quindi utilizzeremo quella ufficiale per Redmine

Z Redmine

Questa prima riga del Dockerfile baserà la nostra immagine sull'ultima a migliore immagine, 4.1.0 al momento della scrittura. Poiché questo prenderà qualsiasi versione sia la più recente, potresti preferire utilizzare a specifická verze pro evitare nuove versioni inaspectate che potrebbero rompere la creazione di questa immagine

Z Redmine: 4.1.0


Používá se Git pro všechny složky a komponenty

Nella maggior parte dei casi, i temi ei plugin hanno repository Git da cui possiamo scaricare il codice più recente. Questo è il caso dei seguenti tre componenti.

Obraz základny Redmine véne fornita senza Git, a possiamo aggiungerlo all'immagine in questo modo

SPUSTÍTE apt install -y git

Questo verrà eseguito quando l'immagine viene creata a ti souhlasirà di utilizzare Git nelle istruzioni seguenti.

Téma Gitmike: consigliano di clonare direttamente il loro repository

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

La linea salverà il progetto clonato nella cartella náležitá veřejnost/témata

Nascondi la barra laterale: la stessa procedura può essere applicata ai plugin. Questo richiede solo di posizionare la cartella clonata nella cartella dei plugin

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

Incolla immagine negli appunti: anche questo sembra essere la procedura tipica, clona il repository e sei pronto per partire

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

Ale pokud leggi un po' di più vedrai che "je consigliabile installare la gemma RMagick, altrimenti le image allegati non verranno visualizzate nei file PDF esportati". Quindi přišel facciamo? Dovrebbe essere facile přijít

RUN gem nainstalovat rmagick

ma probabilmente sai che la gemma deve essere compilata prima di poter essere installata, quindi devi installare alcuni pacchetti prima di installare la gemma. La linea di cui hai veramente bisogno è

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

       && gem install rmagick

Tutto in un unico comando, odděleně v náležité správnosti za leggibilità.

Původní autor tohoto pluginu není věrný pro verzi pro Redmine 4, má název nového pluginu na GitHub mi portato su un progetto che lo fa: RubyClickAP / clipboard_image_paste.


Připojujte plugin a téma pro písmo scaricata

Il téma A1 è un bon esempio per illustrare i casi in cui si ha la fonte, a non un un URL da scaricare durante il processo di creazione. Una opzione in casi come questo è fornire la fonte al processo di creazione. In questo modo il contenuto viene aggiunto all'immagine senza scaricarlo

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

Questo richiede che la cartella a1 sia nello stesso posto in cui si trova il Dockerfile.

Ora sei pronto per creare la tua immagine, quindi apri un terminale dove si trova il tuo Dockerfile ed esegui

stavitel doku -t můj-redmine.

Una volta creata, sarai in grado di eseguire la tua immagine con

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

Máte k dispozici a apri http://localhost:3000 za zobrazení podle vašeho personalizátu Redmine!

Redmine dopo la personalizzazione


Alcuni consigli pro aggiungere più plugin

Podle nového pluginu je možné použít nový obsah Redmine. È così che ho capito che rmagick richiede l'installazione di alcuni pacchetti. První, esegui un'istanza eliminabile di Redmine con

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

e poi accedi all'istanza con

docker exec -it test -redmine bash

Nainstalujte si pacchetti OS, který je nezbytný pro migraci. Ricorda sólo a pasažéři v modu da poterli aggiungere al tuo Dockerfile!


Caricamento della tua imagine personalizzata na Docker Hub

L'immagine che hai appena creato è disponibile solo nel tuo ambiente locale. E se volessi renderla disponibile ad altri, diciamo a tutti? Naturalmente, puoi caricare il Dockerfile ei file correlati su un repository git e chi è interessato può creare l'immagine da solo. Ma Docker souhlasí s tím, že je vytvořena v registru. Pokud chcete, vytvořte si účet na hub.docker.com a vytvořte úložiště podle představ. Quindi accedi al terminale in questo modo

přihlášení do doku

Tagga la tua immagine in modo che possa essere caricata nel tuo repository

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

e caricala in questo modo

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

Představte si Docker v registru Docker

Ora chiunque può provare la tua immagine eseguendo

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

Ecco fatto! Odinstalován standard Redmine a verze personalizovaného přístupu v registru Docker. Condividi i tuoi commenti o domande qui sotto.


Riduzione delle dimensions dell'immagine Docker

Troverai che il Dockerfile nel úložiště ha unito molte righe in una sola. Questa è una raccomandazione di Docker za vytvoření obrázků più più. Puoi trovare questo consiglio e altri su https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Un'altra raccomandazione forridurre le dimenze finali dell'immagine è quella di utilizzare la versione alpina di Redmine

Z Redmine: alpine

Alpine je rozmanitá distribuce Linuxu. Invece di use apt in installare and pacchetti, devi use are apk.

Ultimo suggerimento: a pacchetti che abbiamo installato con apt nel Dockerfile non sono più needari to dopo la creazione dell'immagine. Vícefázová sestava pro praktické použití: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Pratica di mantenere un'immagine Docker di piccole dimensions aiuta soprattutto quando a aumenta il numero di istanze, ma riduce anche la povrchní attacco della tua immagine.

L'aggiornamento definitivo di Redmine? Snadno.

Ottieni tutti gli nástroje potenci on a pianificazione, gestione and controllo perfetti del progetto in un unico software.

Scopri Easy Redmine

Prova Easy Redmine zdarma za 30 giorni

Funzionalita kompletní, ochrana SSL, záložní giornalieri, další geolocalizzazione