Nasıl Özel Redmine Docker Görüntüsü Oluşturulur

6/16/2020
8 λεπτά
Lukáš Beňa.
Redmine, proje yönetimi ve sorun takibi için en popüler araçlardan biridir. Eğer denediyseniz veya üretim ortamında kurmanız gerektiyse, muhtemelen yüksek talep ortamlarında kurulumu ve ölçeklendirmeyi büyük ölçüde kolaylaştıran resmi bir docker görüntüsü olduğunuuz.

Özelleştirmeden önceki Redmine

Δεν: Redmine'in yerel docker sürümü https://hub.docker.com/_/redmine adresinde bulunabilir. Burada, harici bir veritabanını nasıl dolduracağınızı ve harici klasörleri nasıl bağlayacağınızı (eklentileri yükleyebilmek için) iyi talimatlar bulabilirsiniz.

Eğer benim gibiyseniz ve özel bir Redmine Docker görüntüsü oluşturmak için kodu doğrudan görmeyi tercih ederseniz, github.com/lcofre/redmine adresine gidip Dockerfile'ı kontrol edebilirsiniz.

Redmine Docker görüntüsü iyi bir başlangıç ​​noktasıdır, ancak muhtemelen istediğiniz eklentiler ve temalarla özelleştirmek istersiniz. Bu nasıl yapılır adlı rehberde, resmi olanına dayanan bir Docker görüntüsü oluşturacak, bazı temalar ve eklentiler ekleyecek ve bunu docker kayıt defterine yükleyeceğiz.

Basitlik açısından, harici bir veritabanı yerine Redmine konteynerinin içinde bir dahili veritabanı kullanmayacağız. Bununla birlikte, üretim ortamı için ayrı bir depolama konteyneri kurmanız önerilir.


Eklentiler ve Temalar

Redmine'e eklemek için çeşitli yolları göstermek için birkaç eklenti ve tema seçtik:

  • Kenar çubuğunu gizle, özellikle sorunları yazarken daha fazla ekran alanı sağlamak için bir eklenti
  • Panodan yapıştır, bir dosya seçmek yerine panodan ekran görüntüleri eklemek için
  • A1 ve Gitmike, arayüzün görünümünü değiştiren iki tema

Veritabanı göçü gerektiren eklentileri hariç tutuyoruz, çünkü önceden var olan bir veritabanına ihtiyacınız var. Göç gerektiren bir eklenti yüklemek isterseniz lütfen aşağıya yorum yapın, μέγεθος iyi fikirlerimiz var.


Dockerfile'ı Yazma

Bir Dockerfile, bir Docker görüntüsünü nasıl oluşturacağımız hakkında bir reçetedir. Burada öğreneceğimiz ilk gerçek, görüntümüzü başka bir görüntüye dayandırmamız gerektiğidir, bu yüzden Redmine için resmi olanı kullanacağız

ΑΠΟ Redmine

Dockerfile'ın bu ilk satırı, görüntümüzü yazma anında en son ve en iyi sürüme dayandıracaktır. Bu, en son sürümü alacağından beklenmedik yeni sürümleri önlemek için belirli bir sürüm kullanmanız tercih edilebilir

ΑΠΟ Redmine: 4.1.0


Χρησιμοποιώντας το Git για να λάβετε τα στοιχεία

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

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

RUN apt install -y git

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

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

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

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

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

Εκτελέστε τον κλώνο 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.


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

Η Θέμα Α1 είναι ένα καλό παράδειγμα για να δείξετε τις περιπτώσεις όπου έχετε την πηγή, αλλά όχι μια διεύθυνση URL για λήψη κατά τη διαδικασία κατασκευής. Μια επιλογή σε τέτοιες περιπτώσεις είναι να παρέχετε την πηγή στη διαδικασία κατασκευής. Με αυτόν τον τρόπο το περιεχόμενο προστίθεται στην εικόνα χωρίς να το κατεβάσετε

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

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

Τώρα είστε έτοιμοι να δημιουργήσετε την εικόνα σας, οπότε ανοίξτε ένα τερματικό όπου βρίσκεται το Dockerfile και εκτελέστε το

docker build -t my-redmine.

Μόλις κατασκευαστεί θα μπορείτε να εκτελέσετε την εικόνα σας

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

Προχωρήστε και ανοίξτε το http: // localhost: 3000 για να δείτε το προσαρμοσμένο Redmine!

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


Μερικές συμβουλές για την προσθήκη περισσότερων προσθηκών

Για να δοκιμάσετε νέες προσθήκες, είναι πάντα καλύτερο να χρησιμοποιείτε ένα νέο δοχείο Redmine. Έτσι συνειδητοποίησα ότι το rmagick απαιτεί την εγκατάσταση ορισμένων πακέτων. Πρώτα, εκτελέστε μια απορρίψιμη παρουσία του Redmine με

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

και μετά εισαγάγετε την παρουσία με

docker exec -it test -redmine bash

Εκεί μπορείτε να εγκαταστήσετε πακέτα λειτουργικών συστημάτων, πολύτιμους λίθους ή να εκτελέσετε μετεγκαταστάσεις. Απλώς θυμηθείτε τα βήματα για να τα προσθέσετε στο Dockerfile!


Docker Hub'a özel resminizi yükleme

Yeni oluşturduğunuz resim yalnızca yerel ortamınızda kullanılabilir. Başkalarına da kullanılabilir hale getirmek isterseniz, diyelim ki herkese, Dockerfile ve ilgili dosyaları bir git deposuna yükleyebilir ve ilgilenenler resmi kendileri oluşturabilir. Ancak Docker, oluşturduğunuz resmi kayıt defterine yüklemenize de izin verir. Bunun için hub.docker.com'da bir hesap oluşturun ve resminiz için bir depo da oluşturun. Ardından terminalde şu şekilde oturum açın

σύνδεση στο docker

Resminizi depoya yükleyebilmesi için etiketleyin

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

ve şu şekilde itin

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

Docker kayıt defterindeki Docker resmi

Artık herkes resminizi deneyebilir

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

İşte bu kadar! Bu, standard bir Redmine kurulumundan Docker kayıt defterinde erişilebilir bir kişiselleştirilmiş sürüme nasıl geçeceğinizdir. Lütfen yorumlarınızı veya sorularınızı aşağıya paylaşın.


Docker resim boyutunu kırpma

Depodaki Dockerfile birçok satırı birleştirdi. Bu, daha küçük resimler yapmak için bir Docker önerisidir. Bu öneriyi ve diğerlerini https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ στο.

Resmin son boyutunu azaltmak için başka bir öneri, Redmine'in alpine sürümünü kullanmaktır

ΑΠΟ Redmine: αλπικό

Alpine farklı bi Linux dağıtımıdır. Paketleri yüklemek için apt yerine apk kullanmanız gerekmektedir.

Son bir ipucu: Dockerfile'da apt ile yüklediğimiz paketlere artık ihtiyaç yoktur. Çoklu aşamalı yapıları kullanma en iyi uygulamasını takip edebilirsiniz: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Küçük boyutlu bir Docker resmi tutma uygulaması, özellikle örnek sayısını ölçeklendirirken yardımcı olur, ayrıca resminizdeki saldırı yüzeyini azaltır.

Redmine yükseltmesi için en iyi seçenek mi? Kolay.

Tüm güçlü araçları tek bir yazılımda mükemmel proje planlama, yönetim ve kontrol için edinin.

Kolay Redmine'i Keşfedin

Easy Redmine'ı 30 gün ücretsiz deneyin

Tam özellikli, SSL korumalı, günlük yedeklemeler, bulunduğunuz konumda