Cum să creați propria wyobraź sobie personalizację Docker Redmine.

6/16/2020
9 minut
Lukáš Beňa -> Lukáš Beňa
Redmine este una dintre cele mai populare instrumente pentru managementul proiectelor și urmărirea problemelor. Dacă l-ați încercat sau ați fost nevoit să-l instalați într-un mediu de producție, probabil că știți și că istnieje o wyobraź sobie oficjalną opiekę Docker uproszczoną, aby uzyskać mult instalarea și scalarea pentru medii cu cerere mare.

Redmine nie jest personalizowany

Notatka: Redmine nativ docker poate fi găsit la adres https://hub.docker.com/_/redmine. Aici puteți găsi, de asemenea, instrucțiuni bune 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 kopalni și preferați vedeți direct codul pentru construirea unei imagini Docker Redmine personalizuj, umieszczaj i łącz la https://github.com/lcofre/redmine i zweryfikować Dockerfile-ul.

Wyobraź sobie, że Docker Redmine jest łatwym punktem pornograficznym, prawdopodobnie da się zrobić lub spersonalizować plugin-uri i motyw, który preferuje dvs. Na podstawie ghid, zbuduj lub wyobraź sobie bazę danych Dockera na oficjalnej stronie, dodaj ten temat do wtyczki i zainstaluj lub zarejestruj się w Dockerze.

Pentru simplitate, nu vom utiliza o bază de date externă, ci o bază de date internă w kontenerze Redmine însuși. Pentru un mediu de producție, jest recomandabil să configurați un kontener de stocare dedicat.


Plugin-uri și temat

Am ales câteva plugin-uri și teme pentru a ilustracją moduri variate de le adăuga la Redmine:

  • Ascunde bara laterală, un plugin pentru a allowe mai mult spațiu pe ecran, în special atunci când se scriu probleme
  • Lipeşte din schowek, pentru a atașa capturi de ecran lipind din schowek w wybranym miejscu
  • A1 şi Gitmike, două temat pentru schimba aspektul UI-ului

Excludem plugin-urile care necesită o 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 idea bune pentru dvs.


Scrierea Dockerfile-ului

Un Dockerfile est or rețetă despre cum with să construiți or 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

Z Redmine

Această primă linie a Dockerfile-ului va baza sau Imaginea noastră pe cea mai lastă și cea mai bună wyobraź sobie, 4.1.0 w pędzie scrierii. Deoarece acest lucru va lua orice este cea mai lastă, este posibil să preferați să utilizați o versiune specifică pentru a evita versiuni noi neașteptate care pot strica construirea acestei imagini

Z Redmine: 4.1.0


Folosind Git pentru a oczywisty komponent

În majoritatea cazurilor, temele și plugin-urile au depozite Git de unde putem descărca cel mai last cod. Acesta este cazul pentru următoarele trei componente.

Imaginea de bază Redmine vine fără Git, dar îl putem adăuga la wyobraź sobie în felul următor:

Uruchom RUN apt install -y git

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

Motyw Gitmike: aceștia recomandă clonarea repo-ului lor direct

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

Linia va salva proiectul clonat w folderze corespunzător public/themes

Ascunde bara laterală: Aceeași proceduraă poate fi aplicată și plugin-urilor. Acesta nu necesită decât plasarea folderului clonat în folderul plugin-urilor

URUCHOM klon git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Lipirea imaginii ze schowka: Acesta pare, de asemenea, a fi procedur tipică, clonarea repo-ului și sunteți gata să mergeți

URUCHOM klon git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Dar daca citiți puțin mai mult. Deci, cum facem asta? Ar trebui să fie la fel de ușor ca

URUCHOM gem zainstaluj rmagick

Dar probabil știți că gem-ul trebuie construit î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

URUCHOM apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem zainstaluj rmagick

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

Autorul oryginalny al acestui plugin nu oferă o versiune pentru Redmine 4, dar o căutare a numelui plugin-ului w GitHub ma dus la un proiect care o face: RubyClickAP / clipboard_image_paste.


Adăugarea unui plugin sau temă dintr-o sursă descărcată

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

KOPIUJ a1 public / themes / a1

Aceasta necesită ca folderul a1 să fie în aceaș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 buduje -t my-redmine.

După construire, veți putea rula Imaginea cu

docker run -it -p 3000: 3000 --name my-redmine my-redmine

Accesaţi http://localhost:3000 pentru a vedea Redmine-ul personalizat!

Redmine după personalizacja


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

Pentru a încerca plugin-uri noi, este întotdeauna bine să utilizați un kontener Redmine proaspăt. Așa am realizat că rmagick necesită instalarea unor pachete. Mai întâi, rulați lub instanță eliminabilă de Redmine cu

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

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

docker exec - it test-redmine bash

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


Spersonalizuj wyobraźnię w Docker Hub

Imaginea pe care tocmai ați construit-o este disponibilă doar în 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ă allowe, 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:

login dokera

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

tag dokera my-redmine: najnowsze lcofre / redmine: najnowsze

și încărcați-o astfel

docker push lcofre / redmine: najnowszy

Wyobraź sobie Dockera w rejestracji Dockera

Acum oricine poate încerca Imaginea dvs. fasada

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

Atat! Możesz zainstalować standardową wersję Redmine, aby uzyskać dostęp do spersonalizowanej wersji w rejestrze Docker. Vă rugăm să împărtășiți comentariile sau întrebările dvs. maj jos.


Zmniejsz wymiary imaginii Docker

Veți constata că Repozytorium pliku Dockerfile jednostka multe linii într-una singură. Aceasta este o 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/

Możesz także polecić, aby zmniejszyć ostateczny wymiar i stworzyć obraz, który będzie używany w wersji alpejskiej i Redmine

FROM Redmine: alpejski

Alpine jest dystrybucją różnych systemów Linux. În să utilizați apt pentru a pachete instala, trebuie să utilizați apk.

Un 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 când se mărește numărul de instanțe, dar reduce și suprafața de atac a imaginii dvs.

Zaktualizuj ostateczną wersję Redmine? Ușoară.

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

Descoperiţi Easy Redmine

Încercați Easy Redmine w 30 zile de încercare za darmo

Pełna funkcjonalność, ochrona SSL, kopia zapasowa uri zilnice, w geolocalizarea dvs.