Έχοντας δημιουργήσει, φανταστείτε την εξατομίκευση του Docker Redmine.

6/16/2020
9 λεπτά
Lukáš Beňa -> Lukáš Beňa
Το Redmine είναι ένα πολύ δημοφιλές εργαλείο για τη διαχείριση του προβλήματος και του προβλήματος της Urmărirea. Dacă l-ați încercat sau ați fost nevoit să-l installați într-un mediu de producție, probabil că știți și că există o φανταστείτε την επίσημη φροντίδα Docker simplifică foarte πολλαπλή εγκατάσταση και μετρήσεις

Redmine înainte de personalizare

Σημείωση: 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 installa 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 και επαλήθευση Dockerfile-ul.

Το Imaginea Docker Redmine δεν έχει πορνογραφικό κουλούρι, έχει πιθανότητες να προσαρμόσει ή να εξατομικεύσει το plugin-uri και το θέμα για να προτιμήσει τα dvs. In aest ghid, vom construi o φανταστείτε το Docker bazată pe cea officială, adăugăm câteva teme și plugin-uri și o încărcăm în εγγραφή Docker.

Pentru simplitate, nu vom utiliza o bază de date externă, ci o bază de date internă în containerul Redmine însuși. Πραγματοποιήστε ένα μέσο παραγωγής, είναι συνιστώμενη για τη διαμόρφωση ενός δοχείου αποθήκευσης.


Πρόσθετο και θέμα

Am ales câteva plugin-uri și teme pentru a lustra 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 problem
  • Lipește din πρόχειρο, pentru a atașa capturi de ecran lipind din clipboard în loc să selectați un fișier
  • A1 και Gitmike, două teme pentru a schimba aspectul UI-ului

Εξαιρέστε την πρόσθετη φροντίδα που απαιτείται για τη μετανάστευση μιας ημερομηνίας, την απομάκρυνση από την ημερομηνία προϋπάρχουσας ημερομηνίας. Το rugăm să comentați mai jos dacă aveți nevoie să εγκατάσταση και η φροντίδα πρόσθετων είναι απαραίτητη για τη μετανάστευση, το avem idei bune pentru dvs.


Scrierea Dockerfile-ului

Το Dockerfile είναι έτοιμο για να κατασκευάσει ή να φανταστεί το Docker. Prima information pe care o vom învăța aici este că trebuie să ne bazăm imagjina pe o altă φανταστείτε, deci vom folosi cea oficială pentru Redmine

ΑΠΟ Redmine

Această primă linie a Dockerfile-ului va baza sau imagjina noastră pe cea mai πρόσφατα και cea mai bună φανταστείτε, 4.1.0 în momentul scrierii. Deoarece acest lucru va lua orice versiune este cea mai πρόσφατα, είναι δυνατό να προτιμήσετε να χρησιμοποιήσετε τη συγκεκριμένη έκδοση ή να το κάνετε αυτό, αλλά δεν χρειάζεται να κάνετε περιποίηση pot strica construirea acestei imagini

ΑΠΟ Redmine: 4.1.0


Το Folosind Git είναι ένα αντικειμενικό συστατικό

Στην πλειονότητα του cazurilor, το θέμα και το plugin-urile ή η κατάθεση Git de unde putem descărca cel mai πρόσφατου κωδικού. Acesta este cazul pentru următoarele trei componente.

Imaginea de bază Redmine vine fără Git, dar îl putem adăuga la φανταστείτε în felul următor:

RUN apt install -y git

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

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

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

Linia va salva proiectul clonat in folderul corespunză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

Εκτελέστε τον κλώνο git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Πρόχειρο Lipirea imaginii din: Acesta pare, de asemenea, a fi procedure tipică, clonararea repo-ului și sunteți gata să mergeți

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

Dar dacă citiți puțin mai mult, βρίσκετε το "secomandă installarea gem-ului RMagick, altfel imaginile atașate nu vor fi afișate in fișierele PDF exportate". Deci, cum facem asta; Ar trebui să fie la fel de ușor ca

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

Πιθανότατα știți că gem-ul trebuie construit înainte de a putea fi installat, deci trebuie să installați unele pachete înainte de a installa gem-ul. Linia de care aveți nevoie este

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

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

Toate într-o singură comandă, ξεχωριστό în două linii pentru lizibilitate.

Αυτόματη έκδοση του πρωτότυπου πρόσθετου για το Redmine 4, για να δημιουργήσετε ένα numelui plugin-ului στο GitHub για την κατάλληλη φροντίδα του προσώπου: RubyClickAP / clipboard_image_paste.


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

Θέμα Α1 este un bun exemplu pentru a ilustra cazurile în care aveți sursa, dar nu și un URL pentru a descărca în timpul processului de construire. O opțiune în astfel de cazuri este de a furniza sursa processului de construire. Astfel, conținutul este adăugat la imagjinate fără a fi descărcat

COPY a1 δημόσιο / θέματα / a1

Aceasta χρειάζεται ca folderul a1 să fie în același loc cu fișierul Dockerfile.

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

docker build -t my-redmine.

După construire, veți putea rula imagjina cu

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

Πρόσβαση http://localhost:3000 pentru a vedea Redmine-ul personalizat!

Προσωποποιήστε το Redmine după


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

Πραγματοποιήστε ένα πρόσθετο încerca-uri noi, μπορείτε να χρησιμοποιήσετε το κοντέινερ Redmine. Așa am realizat că rmagick necesită εγκαθιστάτε μια περιοχή ή pachete. Mai întâi, rulați o instanță eliminabilă de Redmine cu

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

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

docker exec -it test -redmine bash

Το Acolo Puteți εγκατέστησε το 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!


Προσαρμογή φαντασίας στο Docker Hub

Imaginea pe care tocmai ați construit-o este disponibilă doar in mediul local. Ce se întâmplă dacă doriți să o faceț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 imagjina singuri. Dar Docker vă permite, de asemenea, să încărcați imagjina construită în registrul lor. Pentru asta, creați un cont în hub.docker.com și creați, de asemenea, un depozit pentru imagjina dvs. Apoi, conectați-vă în terminal astfel:

σύνδεση στο docker

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

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

și încărcați-o astfel

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

Imaginea Docker στην εγγραφή Docker

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

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

Atât! Μπορείτε να εγκαταστήσετε το τυπικό Redmine στην έκδοση εξατομικευμένης πρόσβασης στο μητρώο Docker. Vă rugăm să împărtășiți Commentariile sau întrebările dvs. mai jos.


Reducerea dimensiunii imaginii Docker

Veți constata că Dockerfile din repo μια μονάδα 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/

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

ΑΠΟ Redmine: αλπικό

Το Alpine είναι η διανομή του Linux σε διαφορετική. Σε loc să utilizați apt pentru a installa pachete, trebuie să utilizați apk.

Un ultim sfat: pachetele pe care le-am installat cu apt in Dockerfile nu mai sunt necesare după ce imagjina este construită. Puteți urma cea mai bună practică de a use 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 φανταστείτε 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.

Ενημερωθείτε για το τελικό Redmine; Ușoară.

Προμηθευτείτε το όργανο που σας επιτρέπει να βάλετε ένα όργανο σε επίπεδο επίπεδο, περιοχή gestion και να ελέγξετε τέλειο λογισμικό για το πρόγραμμα într-un singur.

Descoperiți Easy Redmine

Încercați Easy Redmine σε 30 de zile de încercare δωρεάν

Ολοκληρωμένη λειτουργία, υποστήριξη SSL, δημιουργία αντιγράφων ασφαλείας, σε geolocalizarea dvs.