Cum să creați propria forestil dig Docker Redmine personliggørelse.

6/16/2020
9 minutter
Lukáš Beňa -> Lukáš Beňa
Redmine este una dintre cele mai populare instrumente pentru managementul proiectelor și urmărirea problemslor. Dacă l-ați încercat eller ați fost nevoit să-l instalați într-un mediu de producție, sandsynligheden for că știți și că eksisterer o imagine oficială Docker care medimulifică fors ere hoppe.

Redmine înainte de personalizare

Bemærk: Redmine nativ docker poate fi găsit la adresa https://hub.docker.com/_/redmine. Aici puteți găsi, de asemenea, instrucțiuni bue despre cum să populați o bază de date externă și să montați foldere externe (pentru a putea instala plugin-uri).

Dacă sunteți ca mine și preferați să vedeți direct codul pentru construirea unei imagini Docker Redmine personalisate, puteți flet la github.com/lcofre/redmine și verificați Dockerfile-ul.

Imaginea Docker Redmine este en punct af pornire bun, deși sandsynligheden for at blive doriți să eller personalisați cu plugin-uri și theme după preferințele dvs. I acest ghid, vom construi eller imagine Docker bazată pe cea oficială, adăugăm câteva teme și plugin-uri și o încărcăm în registrul Docker.

Pentru forenklet, nu vom bruge o bază de date eksternă, ci o bază de date internă în containerul Redmine însuși. Pentru un mediu de producție, este recomandabil să configurați un container de stocare dedicat.


Plugin-uri og emne

Am ales câteva plugin-uri și teme pentru a illustrator moduri variation of a le adăuga la Redmine:

  • Ascunde bare laterală, un plugin pentru a permite mai mult spațiu pe ecran, în special atunci cand se scriu problemer
  • Lipește din udklipsholder, pentru a atașa capturi de ecran lipind din clipboard în loc să selectați un fișier
  • A1 şi Gitmike, două teme pentru a skimba aspektul UI-ului

Ekskluder plugin-urile pleje nødvendig eller migrare a bazei de date, deoarece aveți nevoie de o bază de date preexistentă. Vă rugăm să comentați mai jos dacă aveți nevoie să instalați un plugin care necesită migrări, deoarece avem idei bue pentru dvs.


Scrierea Dockerfile-ului

Un Dockerfile este or rețetă despre cum să construiți o imagine Docker. Prima informație pe care o vom învăța aici este că trebuie să ne bazăm imaginea pe o altă imagine, deci vom folosi cea oficială pentru Redmine

FRA Redmine

Această primă linie a Dockerfile-ului va baza sau imaginea noastră pe cea mai recentă și cea mai bună imagine, 4.1.0 în momentul scrierii. Deoarece acest lucru va lua orice versiune este cea mai recentă, este mulige să preferați să utilizați o versiune specifică pentru a evita versiuni noi neașteptate care pot strica construirea acestei imagini

FRA Redmine: 4.1.0


Folosind Git pentru a obține componente

I en majoritet af cazurilor, temele og plugin-urile eller depozite Git de unde putem descărca cel mai nylige torsk. Acesta este cazul pentru următoarele trei componente.

Imaginea de bază Redmine vine fără Git, der îl putem adăuga la imagine în felul următor:

KØR apt installation -y git

Aceasta va fi executată atunci când imaginea este construită și vă va permite să utilizați Git în instrucțiunile următoare.

Tema Gitmike: aceștia recomandă clonarea repo-ului lor direkte

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

Linia va salva proiectul clonat în folderul corespunzător public/themes

Ascunde bare laterală: Aceeași procedure poate fi aplicată și plugin-urilor. Acesta nu necesită decât plasarea folderului clonat in folderul plugin-urilor

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

Lipirea imaginii din udklipsholder: Acesta pare, de asemenea, a fi procedura tipică, clonarea repo-ului și sunteți gata să mergeți

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

Dar dacă citiți puțin mai mult, veți vedea că "se recomandă instalarea gem-ului RMagick, altfel imaginile atașate nu vor fi afișate în fișierele PDF exportate". Deci, cum facem asta? Ar trebui să fie la fel de ușor ca

RUN perle installer rmagick

Det er sandsynligt, at der er en gem-ul trebuie, der konstruerer înainte de a putea fi instalat, deci trebuie să instalați unele pachete înainte de a instala gem-ul. Linia de care aveți nevoie este

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

       && perleinstallere rmagick

Toate într-o singură comandă, separat în două linii pentru lizibilitate.

Autorul original al acestui plugin nu tilbud eller versiune pentru Redmine 4, der kan bruges til en numelui plugin-ului i GitHub, så den skal yde en proiect pleje af ansigtet: RubyClickAP / clipboard_image_paste.


Adăugarea unui-plugin, så du kan downloades

Tema A1 este un bun exemplu pentru a ilustra cazurile în care aveți sursa, dar nu și un URL pentru a descărca în timpul procesului de construire. O opțiune în astfel de cazuri este de a furniza sursa procesului de construire. Astfel, conținutul este adăugat la imagine fără a fi descărcat

KOPI a1 offentlig / temaer / a1

Aceasta necesită ca folderul a1 să fie în același loc cu fișierul Dockerfile.

Acum sunteți pregătit să construiți imaginea, deci deschideți un terminal unde se află fișierul Dockerfile și executați

docker build -t min-redmine.

După construire, veți putea rula imaginea cu

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

Adgang til http://localhost:3000 til at tilpasse Redmine!

Redmine după personliggør


Câteva sfaturi pentru a adăuga mai multe plugin-uri

Hvis du har et plugin, kan du bruge Redmine-beholderen til at bruge den. Așa am realizat că rmagick necesită instalarea unor pachete. Mai întâi, rulați eller instanță eliminabilă de Redmine cu

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

și apoi intrați în instanță cu

docker udfører -det test-redmine bash

Acolo puteți installere pachetele OS, gem-uri eller rula migrații. Gør amintiți-vă pașii astfel încât să le puteți adăuga la fișierul Dockerfile!


Încărcarea imaginii personalisér i Docker Hub

Forestil dig, hvordan du plejer tocmai og construit-o este disponibilă doar in mediul local. Ce se întâmplă dacă doriți să o faceți disponibilă și altora, să spunem tuturor? Desigur, puteți încărca Dockerfile și fișierele aferente într-un repo git, iar cei interesați pot construi imaginea singuri. Dar Docker vă permite, de asemenea, să încărcați imaginea construită în registrul lor. Pentru asta, creați un cont în hub.docker.com și creați, de asemenea, un depozit pentru imaginea dvs. Apoi, conectați-vă în terminal astfel:

docker-login

Etichetați imaginea astfel încât să poată fi încărcată în depozitul dvs.

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

și încărcați-o astfel

docker push lcofre / redmine: seneste

Forestil dig Docker i registret Docker

Acum oricine poate încerca imaginea dvs. făcând

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

Atât! Așa se trece de la o instalare standard Redmine for o versiune personalizată accesibilă în registral Docker. Vă rugăm să împărtășiți comentariile eller întrebările dvs. mai jos.


Reducerea dimensiunii imaginii Docker

Veți constata că Dockerfile din repo en enhed multe linii într-una singură. Aceasta este eller recomandare Docker pentru a face imagini mai mici. Puteți găsi acest sfat și altele în https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

O altă recomandare pentru a reduce dimensiunea finală a imaginii este de a utiliza versiunea alpine a Redmine

FRA Redmine: alpin

Alpine este eller distribution af Linux adskiller sig. På stedet kan du bruge apk til at installere en pakke.

En ultim sfat: pachetele pe care le-am instalat cu apt în Dockerfile nu mai sunt necesare după ce imaginea este construită. Puteți urma cea mai bună practică de a utiliza construcții cu mai multe etape: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Practica de a menține o imagine Docker de dimensiuni mici ajută în special atunci cand se mărește numărul de instanțe, dar reduce și suprafața de atac a imaginii dvs.

Aktualisere endelig Redmine? Ușoară.

Obțineți toate instrumentele puternice pentru planificarea, gestionarea og controlul perfect al proiectelor într-un singur software.

Descoperiți Easy Redmine

Încercați Easy Redmine în 30 de zile de încercare gratuită

Complete funktioner, beskyttet SSL, backup-uri zilnice, i geolokalisering dvs.