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

6/16/2020
8 dakikadır.
Lukáš Bena.
Redmine, proje yönetimi ve sorun takibi için en popüler araçlardan biridir. Eğer denediyseniz veya üretim ortamını kurmanız gerekmiyorsa, muhtemelen yüksek talep ortamlarında kurulum ve ölçeklendirmeyi büyük ölçüde kolaylaştıran resmi bir docker görüntüsü olduğu da bilinmektedir.

Özelleştirmeden önceki Redmine

Değil: Redmine'in yerel docker sürümü https://hub.docker.com/_/redmine bulunabilir. Burada, harici bir veritabanını nasıl dolduracağınızı ve harici dizüstü bilgisayarları nasıl bağlayacağınızı (eklentileri yükleyebilmek için) iyi talimatları bulabilirsiniz.

Benim gibiyseniz ve özel bir Redmine Docker görüntüsü oluşturmak için kodu doğrudan görmeyi tercih ediyorsanız, github.com/lcofre/redmine günlerden geçerken 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 kalıcıdır. Bu nasıl yapılır adlı rehberde, resmi olana dayalı bir Docker görüntüsü oluşturulacak, bazı temalar ve eklentiler ekleyecek ve bunu docker kayıt defterine yüklenecek.

Basit açıdan, harici bir veri deposu yerine Redmine konteynerinin içinde bir dahili veri deposunu kullanmayacağız. Bununla birlikte, üretim ortamı için ayrı bir depolama konteyneri kurmanız önerilir.


Eklentiler ve Temalar

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

Veritabanı göçü eklentileri hariç tutmaktayız, çünkü mevcut var olan bir veri tabanına ihtiyacınız var. Göç parçası bir eklenti eklentisi isterseniz lütfen aşağıya yorum yapın, size iyi fikirlerimiz var.


Dockerfile'ı Yazma

Bir Dockerfile, bir Docker'ı 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 dayanmamız gerekiyor, bu nedenle Redmine için resmi olanı kullanacağız

Redmine'dan

Dockerfile'ın bu ilk bilgisi, görüntümüzün yazılması anında ve en iyi sürüme dayanacaktır. Bu, son sürümden beklenen yeni sürümden kaçınmak için belirli bir sürümü kullanmak tercih edilebilir

BAŞLANGIÇ Redmine: 4.1.0


Bileşenleri almak için Git'i kullanma

Çoğu durumda, temalar ve eklentiler, en son kodu indirebileceğimiz git depolarına sahiptir. Aşağıdaki üç bileşen için durum böyledir.

Temel Redmine görüntüsü git olmadan gelir, ancak görüntüyü bu şekilde ekleyebiliriz

ÇALIŞTIR apt install -y git

Bu, görüntü oluşturulduğunda yürütülür ve aşağıdaki talimatlarda git'i kullanmanıza izin verir.

Gitmike teması: depolarını doğrudan klonlamayı önerirler

RUN git klonu https://github.com/makotokw/redmine-theme-gitmike.git kamu / temalar / gitmike

Satır, klonlanan projeyi uygun ortak / temalar klasörüne kaydedecektir

Kenar Çubuğunu Gizle: Aynı prosedür eklentilere uygulanabilir. Bu, klonlanmış klasörü plugins klasörüne yerleştirmekten başka bir şey gerektirmez

RUN git klonu https://gitlab.com/bdemirkir/sidebar_hide.git eklentileri / sidebar_hide

Pano Görüntü macunu: Bu aynı zamanda tipik bir prosedür gibi görünüyor, repoyu klonlayın ve gitmeye hazırsınız

RUN git klonu https://github.com/RubyClickAP/clipboard_image_paste.git eklentileri / clipboard_image_paste

Ama eğer sen biraz daha oku "RMagick gem'in yüklenmesi önerilir, aksi takdirde eklenen resimler dışa aktarılan PDF dosyalarında gösterilmez" ifadesini görürsünüz. Peki bunu nasıl yapacağız? Kadar kolay olmalı

RUN gem kurulum rmagick

ama muhtemelen gem'in yüklenmeden önce inşa edilmesi gerektiğini biliyorsunuzdur, bu yüzden gem'i kurmadan önce bazı paketleri yüklemeniz gerekir. Gerçekten ihtiyacınız olan çizgi

RUN apt install -y yap-temel imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem install rmagick

Hepsi bir komutta, okunabilirlik için iki satıra ayrılmıştır.

Bu eklentinin orijinal yazarı Redmine 4 için bir sürüm sağlamaz, ancak GitHub'da eklenti adının araştırılması beni aşağıdakileri yapan bir projeye indi: RubyClickAP / clipboard_image_paste.


İndirilen bir kaynaktan bir eklenti veya tema ekleme

The A1 teması kaynağa sahip olduğunuz durumları göstermek için iyi bir örnektir, ancak oluşturma işlemi sırasında indirilecek bir URL değil. Bu gibi durumlarda bir seçenek, kaynak oluşturma sürecine sağlamaktır. Bu şekilde içerik indirilmeden resme eklenir

KOPYA a1 genel / temalar / a1

Bu, a1 klasörünün Dockerfile ile aynı yerde olmasını gerektirir.

Artık görüntünüzü oluşturmaya hazırsınız, bu yüzden Dockerfile dosyanızın bulunduğu bir terminal açın ve

docker yapı -t benim-redmin.

Oluşturulduktan sonra resminizi

docker run -it -p 3000: 3000 - adı benim-redmin benim-redmin

Özel Redmine'inizi görmek için http: // localhost: 3000'i açın!

Özelleştirme sonrası redmine


Daha fazla eklenti eklemek için bazı ipuçları

Yeni eklentileri denemek için her zaman taze bir Redmine kabı kullanmak daha iyidir. Bu şekilde rmagick'in bazı paketlerin kurulmasını gerektirdiğini fark ettim. İlk olarak,

docker çalıştırmak - rm -d -p 3000: 3000 - adı test-redmine redmine

ve ardından örneği

docker exec -it testi-redmine bash

Burada işletim sistemi paketleri, taşlar yükleyebilir veya taşıma işlemleri gerçekleştirebilirsiniz. Dockerfile'ınıza eklemek için adımları hatırlamanız yeterlidir!


Docker Hub'a özel resminizi yüklüyoruz

Yeni oluşturduğunuz resim yalnızca yerel ortamınızda mevcuttur. Başkalarına da uygun hale getirmek isterseniz, diyelim ki herkese, Dockerfile ve ilgili dosyalar bir git deposuna yüklenebilir ve ilgilenenler resmi olarak kendileri olabilirler. Ancak Docker, oluşturduğunuz resmi kayıt defterine yüklemenize izin verir. Bunun için hub.docker.com'da bir hesap oluşturmak ve bir depo oluşturmak için resmileştirmek. Daha sonra terminalde şu şekilde oturum açma

liman işçisi girişi

Resminizi depoya yükleyebilmek için etiketleyin

docker etiketi my-redmine: latest lcofre / redmine: latest

ve şu şekilde itin

docker push lcofre / redmine: en yeni

Docker kayıt defterindeki Docker resmi

Artık herkes resminizi deneyebilir

docker run -it -p 3000: 3000 - adı my-redmine lcofre / redmine

İşte bu kadar! Bu, standart 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 bölümlerinizi birbirinden ayırın.


Docker'ın resim sıcaklığını uzatabilir

Depodaki Dockerfile birçok bilgiyi birleştirdi. Bu, daha küçük resimler yapmak için bir Docker'dır. Bu öneriyi ve diğerlerini https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ Bulunduğunuz yerde.

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

KİMDİR Redmine: alpin

Alpine farklı bir Linux işleyişidir. 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 yapıları kullanmayan en iyi uygulamayı takip edebilirsiniz: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Küçük boyutlu bir Docker tutma resmi uygulaması, özellikle örnek sayısını ölçeklendirirken yardımcı olur, ayrıca resminizdeki saldırı yüzeylerini 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 çalışır.

Kolay Redmine'i Keşfedin

Easy Redmine'ı 30 gün ücretsiz deneyin

Tam dosyaları, SSL korumaları, günlük yedeklemeler, depolama birimleri