Ελάτε να δημιουργήσετε το φανταστείτε Docker personalizzata di Redmine.

6/16/2020
9 λεπτά
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 o 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

σημείωση: Redmine nativo docker può essere trovato su https://hub.docker.com/_/redmine. Qui puoi trovare anche buone isstruzioni su come popolare un database esterno e montare cartelle esterne (ανά πρόσθετο poter installare).

Sei sei come me e preferisci vedere direttamente il codice per la creazione di un'immagine Docker personalizzata di Redmine, pooi andare su github.com/lcofre/redmine και έλεγχος του Dockerfile.

L'immagine Docker di Redmine è un buon punto di partenza, anche se probabilmente vorresti personalizzarla con plugin and temi a tuo piacimento. Στο questo how-to, costruiremo un'immagine Docker basata su quella ufficiale, aggiungeremo alcuni temi e plugin e la caricheremo nel registro docker.

Με απλά λόγια, η μη χρήση της βάσης δεδομένων είναι εσωτερικά και η βασική βάση δεδομένων Redmine stesso. Tuttavia, ανά περιβάλλον παραγωγής, è consigliabile configurare un contenitore di archiviazione dedicato.


Plugin e Temi

Abbiamo scelto alcuni plugin και temi per illustrare varie modalità di aggiunta a Redmine:

  • Nascondi la barra laterale, un plugin per consentire più spazio sullo schermo, soprattutto durante la scrittura di problemi
  • Incolla dagli appunti, ανά ένα στιγμιότυπο οθόνης incolando dagli appunti invece di Selezionare un file
  • A1 e Gitmike, λόγω temi per cambiare l'aspetto dell'interfaccia utente

Escludiamo i plugin che richiedono una 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 il Dockerfile

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

ΑΠΟ Redmine

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

ΑΠΟ Redmine: 4.1.0


Χρησιμοποιήστε το Git για κάθε άλλο συστατικό

Nella maggior parte dei casi, i temi ei plugin hanno αποθετήριο Git da cui possiamo scaricare il codice più πρόσφατα. 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

RUN apt install -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 αποθετήριο

Εκτελέστε τον κλώνο git https://github.com/makotokw/redmine-theme-gitmike.git δημόσια / θέματα / gitmike

La linea salverà il progetto clonato nella cartella appropriata δημόσια/θέματα

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

Εκτελέστε τον κλώνο git 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

Εκτελέστε τον κλώνο git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Αλλα αν leggi un po' di più Βεβαιωθείτε ότι "è consigliabile installare la gemma RMagick, altrimenti le immagini allegati non verranno visualizzate nei file PDF esportati". Quindi come facciamo; Dovrebbe essere facile έλα

RUN gem εγκατάσταση 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 è

RUN apt install -y build-sential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem εγκατάσταση rmagick

Tutto in un unico Comando, separato in due righe per leggibilità.

Η αρχική έκδοση του πρόσθετου δεν είναι δυνατή η έκδοση για το Redmine 4, αλλά το όνομα της προσθήκης στο GitHub είναι ένα πρόγραμμα: RubyClickAP / clipboard_image_paste.


Προσθέστε ένα πρόσθετο ή ένα θέμα για να δημιουργήσετε ένα scaricata

Il θέμα Α1 è un buon esempio per illustrare i casi in cui si ha la fonte, ma 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

COPY a1 δημόσιο / θέματα / 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 my-redmine.

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

docker run -it -p 3000: 3000 --όνομα my-redmine my-redmine

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

Redmine dopo la personalizzazione


Alcuni consigli per aggiungere più plugin

Σύμφωνα με το πρόσθετο provare nuovi, è semper meglio utilizare un nuovo contenitore 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 --name test-redmine redmine

e poi accedi all'istanza con

docker exec -it test -redmine bash

Μπορείτε να εγκαταστήσετε το λειτουργικό σύστημα πακέτων, αλλά και να μεταβείτε. Ricorda solo και passaggi in modo da poterli aggiungere al tuo Dockerfile!


Caricamento della tua imagine personalizzata su Docker Hub

L'immagine che hai appena creato è διαθέσιμος μόνος σου σε τοπικό περιβάλλον. 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 ti consente anche di caricare l'immagine creata nel loro registro. Για να δημιουργήσετε έναν λογαριασμό στο hub.docker.com και να δημιουργήσετε ένα αποθετήριο για να φανταστείτε. Quindi accedi al terminale in questo modo

σύνδεση στο docker

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

docker tag my-redmine: τελευταία lcofre / redmine: τελευταία

e caricala in questo modo

docker push lcofre / redmine: τελευταία

Το L'immagine Docker δεν καταχωρεί το Docker

Ora chiunque può provare la tua imagine eseguendo

docker run -it -p 3000: 3000 --όνομα my-redmine lcofre / redmine

Ecco fatto! Ecco come passare από την τυπική απεγκατάσταση του Redmine, μια εξατομικευμένη έκδοση για πρόσβαση στο Docker. Condividi i tuoi commenti o domande qui sotto.


Riduzione delle dimensioni dell'immagine Docker

Troverai che il Αποθετήριο Dockerfile nel 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

ΑΠΟ Redmine: αλπικό

Alpine è una distribuzione Linux diversa. Invece di usare apt per installare i pacchetti, devi usare apk.

Un ultimo suggerimento: 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 σε πολλαπλά στάδια: 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 imagine.

L'aggiornamento definitivo di Redmine; Εύκολος.

Πραγματοποιήστε όλες τις δυνατότητες για την εφαρμογή, gestione και controllo perfetti del progetto σε un unico λογισμικό.

Scopri Easy Redmine

Prova Easy Redmine δωρεάν ανά 30 Giorni

Funzionalità πλήρες, πρωτόκολλο SSL, backup giornalieri, nella tua geolocalizzazione