Kom og lav dig selv forestil dig Docker personalizzata di Redmine.

6/16/2020
9 minutter
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 eller hai dovuto installarlo in un ambiente di produzione, probabilmente sai anche che c'è un'immagine docker ufficiale che semplifica notevolmente l'installazione e la scalabilità per gli ambienti ad alta domanda.

Redmine prima della personalizzazione

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

Se sei come me e preferisci vedere direttamente il codice per la creazione di un'immagine Docker personalizzata di Redmine, puoi andare su github.com/lcofre/redmine og kontroller i Dockerfile.

L'immagine Docker di Redmine è un pointo di partenza, anche se probabilmente vorresti personalizzarla con plugin emi a tuo piacimento. I spørgsmålet om, hvordan man gør, kan du få et billede af Docker-basatet, der er officielt, udvidet alcuni temi og plugin og caricheremo eller registro docker.

Som angivet, ikke-bruger en database esterno en database internt indhold Redmine stesso. Tuttavia, per un ambiente di produzione, è consigliabile configurare un contenitore di archiviazione dedicato.


Plugin og Temi

Abbiamo scelto alcuni plugin og illustrationer af forskellige modalità på Redmine:

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

Escludiamo og plugin er rig på en migrazione del database, poiché è necessario un database preesistente. Commenta qui sotto se hai bisogno di installare un plugin che richiede migrazioni, poiché abbiamo buone idee per te.


Scrivere til Dockerfile

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

FRA Redmine

Questa prima riga del Dockerfile baserà la nostra immagine sull'ultima e migliore immagine, 4.1.0 al momento della scrittura. Poiché questo prenderà qualsiasi versione sia la più recente, potresti preferire utilizzare una versione specifica per evitare nuove versioni inaspettate che potrebbero rompere la creazione di questa immagine

FRA Redmine: 4.1.0


Brug Git per ottenere i componenti

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

L'immagine di base di Redmine viene fornita senza Git, ma possiamo aggiungerlo all'immagine in questo modo

KØR apt installation -y git

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

Tema Gitmike: consigliano di clonare direttamente il loro repository

Kør git klon https://github.com/makotokw/redmine-theme-gitmike.git offentlig / temaer / gitmike

La linea salverà il progetto clonato nella cartella appropriata public/temaer

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

Kør git klon https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

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

Kør git klon https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Men hvis leggi un po' di più vedrai che "è consigliabile installare la gemma RMagick, altrimenti le immagini allegati non verranno visualizzate nei file PDF esportati". Vil du komme til at se? Dovrebbe essere facile komme

RUN perle installer 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 è

Kør apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && perleinstallere rmagick

Alt i en unico comando, separato i behørig righe per læsibilità.

L'autore originale di questo plugin non fornisce una versione per Redmine 4, ma una ricerca del nome del plugin su GitHub mi ha portato su un progetto che lo fa: RubyClickAP / clipboard_image_paste.


Aggiungere et plugin til et tema da una fonte scaricata

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

KOPI a1 offentlig / temaer / a1

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

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

docker build -t min-redmine.

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

docker run -it -p 3000: 3000 - navn min-redmine min-redmine

Vai avanti e apri http://localhost:3000 per vedere il tuo Redmine personalizzato!

Redmine dopo la personalizzazione


Alcuni consigli per aggiungere più plugin

For at prøve et nyt plugin, kan du bruge en ny version af Redmine. È così che ho capito che rmagick richiede l'installazione di alcuni pacchetti. Prima, esegui un'istanza eliminabile di Redmine con

docker run --rm -d -p 3000: 3000 - navn test-redmine redmine

e poi accedi all'istanza con

docker udfører -det test-redmine bash

Lì puoi installere pacchetti OS, gemme eller eseguire migrazioni. Ricorda solo og passaggi in mode da poterli aggiungere al tuo Dockerfile!


Caricamento della tua image personalizzata til 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 giver samtykke anche di caricare l'immagine creata nel loro registro. Opret en konto på hub.docker.com og opret et lager, som du kan forestille dig. Quindi får adgang til terminalen i questo modo

docker-login

Tagga la tua imagine i modo che possa essere caricata nel tuo repository

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

e caricala i questo modo

docker push lcofre / redmine: seneste

Billedet af Docker er tilmeldt Docker

Ora chiunque può provare la tua immagine eseguendo

docker run -it -p 3000: 3000 - navn my-redmine lcofre / redmine

Ecco fatto! Ecco kommer til at afinstallere standarden af ​​Redmine og en version af personlig betjening tilgængelig for Docker. Condividi i tuoi commenti o domande qui sotto.


Riduzione delle dimensioni dell'image Docker

Troverai che il Dockerfile nel repository ha unito molte righe in una sola. Questa è una raccomandazione di Docker per creare immagini più piccole. Puoi trovare questo consiglio e altri su https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Un'altra raccomandazione per ridurre le dimensioni finali dell'immagine è quella di utilizzare la versione alpina di Redmine

FRA Redmine: alpin

Alpine er en distribution af Linux diversa. Invece di usare apt per installare i pacchetti, devi usare apk.

Un ultimo suggestion: I pacchetti che abbiamo installato con apt nel Dockerfile non sono più necessari dopo la creazione dell'immagine. Puoi seguire la pratica migliore di utilizzare build multi-stage: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

La pratica di mantenere un'immagine Docker di piccole dimensioni aiuta soprattutto quando si aumenta il numero di istanze, ma riduce anche la superficie di attacco della tua immagine.

L'aggiornamento definitivo di Redmine? Nemt.

Ottieni tutti gli strumenti potenti per una pianificazione, gestone and controllo perfetti del progetto in un unico software.

Scopri Easy Redmine

Prova Easy Redmine gratis per 30 giorni

Funzionalità complete, protetto da SSL, backup giornalieri, nella tua geocalizzazione