בואו ליצור לה tua לדמיין את 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'magine docker ufficiale che semplifica notevolmente l'installazione e la scalabilità pergli 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 istruzioni su come popolare un database esterno e montare cartelle esterne (לפי כל התקנת תוסף).

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 e controllare il Dockerfile.

L'immagine Docker di Redmine è un buon punto di partenza, anche se probabilmente vorresti personalizzarla con plugin e temi a tuo piacimento. בחיפוש כיצד לעשות, ראה איך אפשר לדמיין את Docker Basata su quella ufficiale, aggiungeremo alcuni temi e plugin e la caricheremo nel registro docker.

לדוגמא, ללא שימוש במסד נתונים מאתר מסד נתונים פנימי ותוכן Redmine stesso. Tuttavia, per un ambiente di produzione, è consigliabile configurare un contenitore di Archiviazione dedicato.


תוספים וערכות נושא

Abbiamo scelto alcuni plugin ו-Temi להמחשה מגוון אופציות של אגיונטה של ​​Redmine:

Escludiamo ו-plugin che richiedono una migrazione del database, poiché è cessario un preesistente database. Commenta qui sotto se hai bisogno di installare un plugin che richiede migrazioni, poiché abbiamo buone idee per te.


סקריבר ב- 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

מאת 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

מ- Redmine: 4.1.0


השתמש ב- Git per ottenere i componenti

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.

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

הפעל התקנת GIT

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

תמה גיטמייק: consigliano di clonare direttamente il loro repository

הפעל שיבוט git https://github.com/makotokw/redmine-theme-gitmike.git ציבור / נושאים / gitmike

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

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

הפעל שיבוט git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Incolla דמיינו 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ù vedrai che "è consigliabile installare la gemma RMagick, altrimenti le immagini allegati non verranno visualizzate nei file PDF esportati". קווינדי בוא facciamo? Dovrebbe essere facile בוא

הפעל פנינה להתקין

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 להתקין -ה build-חיוני imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       & & פנינה להתקין rmagick

מטלות ביחידות שונות, נפרדות במידת האפשר.

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


התקנת פלאגין או נושא דה una fonte scaricata

Il נושא 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. 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 immagine, quindi apri un terminale dove si trova il tuo Dockerfile ed esegui

docker build - my-redmine.

אונה וולטה קריאטה, סראי אין גראדו די אסגוויר לה טואה אימג'ין קון

docker run -it -p 3000: 3000 - שם my-redmine my-redmine

Vai avanti e apri http://localhost:3000 לכל התוכנה Redmine personalizzato!

Redmine dopo la personalizzazione


Alcuni consigli עבור תוסף נוסף

לפי בדיקת תוסף חדש, יש שימוש חדש ב-Redmine. È così che ho capito che rmagick richiede l'installazione di alcuni pacchetti. Prima, esegui un'istanza eliminabile di Redmine con

הפעלת docker - rm -d -p 3000: 3000 - name test-redmine redmine

e poi accedi all'istanza con

מבצעים של דוקר - מבחן redmine bash

אפשר להתקין את מערכת ההפעלה Pacchetti. Ricorda solo i passaggi in modo da poterli aggiungere al tuo Dockerfile!


Caricamento della tua דמיינו התאמה אישית של 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 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

כניסה למעגן

Tagga la tua immagine ב-modo che possa essere caricata nel tuo מאגר

תג הדוקר my-redmine: האחרונה של lcofre / redmine: האחרונה

e caricala in questo modo

לדחוף דוקר lcofre / redmine: אחרון

דמיינו את Docker עם הדוקר הרשום

Ora chiunque può provare la tua immagine eseguendo

מפעיל docker -it -p 3000: 3000 - שם my-redmine lcofre / redmine

אקו פאטו! איך אפשר להסיר את ההתקנה הסטנדרטית של Redmine עם גרסה אישית נגישה ל-Docker. Condividi i tuoi commenti o domande qui sotto.


Riduzione delle dimensioni dell'magine 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 distribution Linux diversa. התקן את השימוש ב-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 לבנות רב-שלבי: 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? קליל.

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

Scopri Easy Redmine

Prova Easy Redmine חינם ל-30 יורני

Funzionalità complete, protetto da SSL, גיאורניירי גיבוי, nella tua geocalizzazione