Létrehozhatja a Docker Redmine személyre szabott képét.

6/16/2020
9 perc
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ă létezik o elképzelni, hogy oficială Docker care simplifică foarte ma scèrei scèrei cerurea și pentareacu.

Redmine înainte de personalizare

jegyzet: Redmine nativ docker poate fi găsit la adresa 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 mine și preferați să vedeți direct codul pentru construirea unei imagini Docker Redmine personalize, puteți merge la github.com/lcofre/redmine és a Dockerfile-ul.

Az Imaginea Docker Redmine egy punct de pornire bun, deși probabil că doriți să or personalize cu plugin-uri és a teme după preferințele dvs. În acest ghid, vom construi o elképzel Docker bazată pe cea oficială, adăugăm câteva teme și plugin-uri și o încărcăm în registrul Docker.

Pentru simplitate, nu vom utiliza o bază de date externă, ci o bază de date internă in containerul Redmine însuși. Pentru un mediu de producție, este recomandabil să configurați un container de stocare dedicat.


Plugin-uri és teme

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

  • Ascunde bara laterală, un plugin pentru a permite mai mult spațiu pe ecran, în special atunci când se scriu probleme
  • Lipește a vágólapra, 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 schimba aspectul 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 idei bune pentru dvs.


Scrierea Dockerfile-ului

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

Redmine-től

Această primă linie a Dockerfile-ului va baza sau elképzela noastră pe cea mai latestă és cea mai bună elképzel, 4.1.0 in momentul scrierii. Deoarece acest lucru va lua orice versiune este cea mai latestă, este posibil să preferați să utilizați o versiune specifică pentru a evita versiuni noi neașteptate care pot strica construirea acestei imagini

Redmine-től: 4.1.0


Folosind Git pentru a obține componente

În majoritatea cazurilor, temele și plugin-urile au depozite Git de unde putem descărca cel mai legutóbbi cod. Acesta este cazul pentru următoarele három komponente.

Imaginea de bază Redmine vine fără Git, dar îl putem adăuga la elképzel în felul următor:

RUN apt install -y GIT

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

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

RUN git klón https://github.com/makotokw/redmine-theme-gitmike.git nyilvános / themes / gitmike

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

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

RUN git klón https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Lipirea imaginii a vágólapra: Acesta pare, de asemenea, a fi procedura tipică, clonarea repo-ului și sunteți gata să mergeți

RUN git klón 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

Futtassa a gem install rmagick szoftvert

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

Futtassa a telepítést - ha épít-nélkülözhetetlen imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem install rmagick

Toate într-o singură comandă, külön în două linii pentru lizibilitate.

Az eredeti al acestui plugin a Redmine 4 verziójában érhető el, és a GitHub-ban található új beépülő modul elérheti az arcproiect care: RubyClickAP / clipboard_image_paste.


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

Téma 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 elképzel fără a fi descărcat

MÁSOLÁS a1 nyilvános / témák / a1

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

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

dokkoló építés - my-redmine.

După construire, veți putea rula elképzela cu

dokkoló futtatása -p-3000: 3000 - neve my-redmine my-redmine

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

Redmine după personalizare


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

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

dokkoló fut - rm -d -p 3000: 3000 - név teszt-redmine redmine

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

dokkoló végrehajtja - teszt-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!


Személyre szabható a Docker Hubban

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 elképzela singuri. Dar Docker vă permite, de asemenea, să încărcați elképzela construită în registrul lor. Pentru asta, creați un cont in hub.docker.com, creați, de asemenea, un depozit pentru elképzela dvs. Apoi, conectați-vă în terminal astfel:

dokkoló bejelentkezés

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

docker tag my-redmine: legújabb lcofre / redmine: legújabb

și încărcați-o astfel

dokkoló push lcofre / redmine: legújabb

Imaginea Docker a Docker regisztrációban

Acum oricine poate încerca elképzela dvs. făcând

dokkoló futtatása -p-3000: 3000 - neve my-redmine lcofre / redmine

Atat! Telepítse a Redmine szabványos verzióját a Docker regisztrációs verziójában. Vă rugăm să împărtășiți Comentariile sau întrebările dvs. mai jos.


Reducerea dimensiunii imaginii Docker

Veți constata că Dockerfile repo a unit multe linii într-una singură. Aceasta este vagy ajánlja a Dockert, hogy képzelje el az arcot. Puteți găsi acest sfat și altele în https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

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

Redmine-től: alpesi

Alpine vagy disztribúciós Linux különböző. În loc să utilizați apt pentru a instala pachete, trebuie să utilizați apk.

Un ultim sfat: pachetele pe care le-am instalat cu apt în Dockerfile nu mai sunt necesare după ce elképzela 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 elképzelni Docker de dimensiuni mici ajută în special atunci când se mărește numărul de instanțe, dar red și suprafața de atac a imaginii dvs.

Realizarea finală Redmine? Ușoară.

Figyeljen arra, hogy a tervezési területet, a gestionarea-t és a tökéletes vezérlést a szoftver proiectelor programjaiban végezze.

Az Easy Redmine leírása

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

Funkciók teljes, SSL védelme, nincs biztonsági mentés, geolocalizarea dvs.