Πώς να δημιουργήσετε τη δική σας προσαρμοσμένη εικόνα Docker για το Redmine

6/16/2020
7 λεπτά
Λουκάς Μπένα
Το Redmine είναι ένα από τα πιο δημοφιλή εργαλεία για τη διαχείριση έργων και την παρακολούθηση ζητημάτων. Εάν το δοκιμάσετε ή αναγκαστείτε να εγκαταστήσετε σε ένα περιβάλλον παραγωγής, πιθανότατα γνωρίζετε ότι υπάρχει μια επίσημη εικόνα docker που απλοποιεί σημαντικά την εγκατάσταση και την κλιμάκωση για περιβάλλοντα υψηλής ζήτησης.

Redmine πριν την προσαρμογή

Σημείωση: Το native docker του Redmine μπορεί να βρεθεί στο https://hub.docker.com/_/redmine. Εδώ μπορείτε επίσης να βρείτε καλές οδηγίες για το πώς να γεμίσετε μια εξωτερική βάση δεδομένων και να προσφέρετε εσωτερικά φακέλους (ώστε να μπορείτε να εγκαταστήσετε πρόσθετα).

Αν είστε εμένα και προτιμάτε να δείτε απευθείας τον κώδικα για τη δημιουργία μιας προσαρμοσμένης εικόνας Docker του Redmine, μπορείτε να πάτε στο github.com/lcofre/redmine και να ελέγξετε το Dockerfile.

Η εικόνα Docker του Redmine είναι ένα καλό σημείο εκκίνησης, αν και πιθανώς θα θέλατε να προσαρμόσετε με πρόσθετα και θέματα που σας αρέσουν. Σε αυτόν τον οδηγό, θα δημιουργήσουμε μια εικόνα Docker βασισμένη στην επίσημη, θα προσθέσουμε μερικά θέματα και τα πρόσθετα και θα ανεβάσουμε στο docker registry.

Για λόγους απλότητας, δεν θα χρησιμοποιήσουμε μια εξωτερική βάση δεδομένων, αλλά μια εσωτερική βάση δεδομένων στο ίδιο container του Redmine. Για ένα περιβάλλον παραγωγής, ωστόσο, πρέπει να δημιουργήσετε έναν αφιερωμένο χώρο αποθήκευσης.


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

Επιλέξαμε μερικά πρόσθετα και θέματα για να επιδείξουμε διάφορους τρόπους προσθήκης τους στο Redmine:

  • Απόκρυψη πλευρικής στήλης, ένα πρόσθετο για να επιτρέπει περισσότερο χώρο, ειδικά κατά τη σύνταξη θεμάτων
  • Επικόλληση από πρόχειρο, για να προσαρτήσετε στιγμιότυπα οθόνη από το πρόχειρο αντί να χρησιμοποιήσετε ένα αρχείο
  • A1 και Gitmike, θέματα για την εμφάνιση δύο περιβάλλοντος χρήστη

Χρήση του Git για τη λήψη των στοιχείων

Στις περισσότερες περιπτώσεις, τα θέματα και τα πρόσθετα έχουν αποθετήρια git από όπου μπορούμε να κατεβάσουμε τον τελευταίο κώδικα. Αυτό ισχύει για τα παρακάτω τρία στοιχεία.

Η βασική εικόνα του Redmine δεν περιλαμβάνει το git, αλλά μπορούμε να προσθέσουμε στην εικόνα με τον εξής τρόπο

RUN apt install -y git

Αυτό θα εκτελεστεί κατά την κατασκευή της εικόνας και θα επιτρέψει να χρησιμοποιήσετε το git στις παρακάτω οδηγίες.

Θέμα Gitmike: συνιστούν να κλωνοποιήσετε απευθείας το αποθετήριό τους

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

Η γραμμή θα αποθηκεύσει το κλωνοποιημένο έργο στον κατάλληλο φάκελο public/themes

Απόκρυψη πλευρικής γραμμής: Η ίδια διαδικασία μπορεί να εφαρμοστεί και στα πρόσθετα. Αυτό χρειάζεται μόνο να τοποθετήσετε τον κλωνοποιημένο φάκελο στον φάκελο των προσθέτων

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

Επικόλληση εικόνας από το πρόχειρο: Αυτό φαίνεται επίσης να είναι η τυπική διαδικασία, κλωνοποιήστε το αποθετήριο και είστε έτοιμοι να πάτε

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

Αλλά αν διαβάσετε λίγο περισσότερο θα δείτε ότι "συνιστάται να εγκαταστήσετε το πακέτο RMagick, οι διαφορετικές επισυναπτόμενες εικόνες δεν εμφανίζονται στα αρχεία PDF που εξάγονται". Πώς να κάνουμε αυτό; Θα πρέπει να είναι τόσο εύκολο όσο

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

αλλά πιθανώς ξέρετε ότι το πακέτο πρέπει να κατασκευαστεί πριν μπορεί να εγκατασταθεί, οπότε πρέπει να εγκαταστήσετε μερικά πακέτα πριν εγκαταστήσετε το πακέτο. Η γραμμή που πραγματικά χρειάζεστε είναι

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

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

Όλα σε μια εντολή, χωρισμένη σε δύο γραμμές για ευανάγνωστο κείμενο.

Ο αρχικός συντάκτης αυτού του προσθέτει δεν παρέχει μια έκδοση για το Redmine 4, αλλά μια αναζήτηση του ονόματος του προσθέτει στο GitHub με οδήγησε σε ένα έργο που το κάνει: RubyClickAP / clipboard_image_paste.


Προσθήκη ενός προσθέτου ή θέματος από μια ληφθείσα πηγή

Το θέμα A1 είναι καλό παράδειγμα για να επεξηγήσετε τις περιπτώσεις όπου έχετε την πηγή, αλλά όχι μια διεύθυνση URL για να την κατεβάσετε κατά τη διάρκεια της διαδικασίας κατασκευής. Ένας τρόπος σε περιπτώσεις όπως αυτή είναι να παρέχετε την πηγή στη διαδικασία κατασκευής. Με αυτόν τον τρόπο το περιεχόμενο προστίθεται στην εικόνα χωρίς να κατεβάζετε

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

Αυτό απαιτεί τον φάκελο a1 να βρίσκεται στον ίδιο τόπο με το Dockerfile.

Τώρα είστε έτοιμοι να κατασκευάσετε την εικ

Μεταφόρτωση της προσαρμοσμένης εικόνας σας στο Docker Hub

Η εικόνα που μόλις δημιουργήσατε είναι διαθέσιμη μόνο στο τοπικό περιβάλλον σας. Τι γίνεται αν θέλετε να κάνετε διαθέσιμη σε άλλους, όπως πούμε σε όλους; Φυσικά, μπορείτε να μεταφορτώσετε το Dockerfile και τα σχετικά αρχεία σε ένα αποθετήριο git, και οι ενδιαφερόμενοι μπορούν να δημιουργήσουν την εικόνα μόνο τους. Ωστόσο, το Docker σας επιτρέπει επίσης να μεταφορτώσετε τη δημιουργημένη εικόνα στον κατάλογό τους. Για να το κάνετε αυτό, δημιουργήστε έναν λογαριασμό στο hub.docker.com και δημιουργήστε ένα αποθετήριο για την εικόνα σας. Στη συνέχεια, σύνδεση στο τερματικό όπως ακολούθως

σύνδεση στο docker

Ετικετοποιήστε την εικόνα σας έτσι ώστε να μπορείτε να μεταφορτωθείτε στο αποθετήριό σας

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

και ανεβάστε την ως εξής

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

Η εικόνα Docker στον κατάλογο Docker

Τώρα οποιοσδήποτε μπορεί να δοκιμάσει την εικόνα σας, κάνοντας

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

Αυτό είναι! Έτσι μετατρέπετε μια τυπική εγκατάσταση Redmine σε μια προσαρμοσμένη έκδοση προσβάσιμη στον κατάλογο Docker. Παρακαλούμε μοιραστείτε τα σχόλια ή τις ερωτήσεις σας παρακάτω.


Μείωση του μεγέθους της εικόνας Docker

Θα διαπιστώσετε ότι το Dockerfile στο αποθετήριο ενώνει πολλές γραμμές σε μία. Αυτή είναι μια σύσταση του Docker για να εμφανιστούν μικρότερες εικόνες. Μπορείτε να βρείτε αυτήν τη συμβουλή και άλλες στο https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Μια άλλη σύσταση για να μείνετε το τελικό μέ

Η απόλυτη αναβάθμιση του Redmine; Ευκολη.

Αποκτήστε όλα τα ισχυρά εργαλεία για τον τέλειο σχεδιασμό, διαχείριση και έλεγχο των έργων σας σε ένα λογισμικό.

Ανακαλύψτε το Easy Redmine

Δοκιμάστε το Easy Redmine σε δωρεάν δοκιμαστική περίοδο 30 ημερών

Πλήρεις λειτουργίες, προστασία SSL, καθημερινά αντίγραφα ασφαλείας, στην τοποθεσία σας