Özel Redmine Docker Resminizi Nasıl Oluşturursunuz
Özelleştirme öncesi redmine
not: Redmine yerel docker şurada bulunabilir: https://hub.docker.com/_/redmine. Burada ayrıca harici bir veritabanını nasıl dolduracağınız ve harici klasörleri nasıl bağlayacağınız (eklentileri yükleyebilmek için) hakkında 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 ve Dockerfile'ı kontrol edin.
Redmine Docker görüntüsü iyi bir başlangıç noktasıdır, ancak muhtemelen beğeninize göre eklentiler ve temalar ile özelleştirmek istersiniz. Bu nasıl yapılırsa, resmi olana dayalı bir Docker görüntüsü oluşturacağız, bazı temalar ve eklentiler ekleyeceğiz ve docker kayıt defterine yükleyeceğiz.
Basit olması için, Redmine kapsayıcısında harici bir veritabanı değil, dahili bir veritabanı kullanacağız. Yine de bir üretim ortamı için, özel bir saklama kabı kurulması tavsiye edilir.
Eklentiler ve Temalar
Redmine'a eklemenin çeşitli yollarını göstermek için birkaç eklenti ve tema seçtik:
- Kenar çubuğunu gizle, özellikle sorun yazarken daha fazla ekran alanı sağlayan bir eklenti
- Panoyu yapıştır, dosya seçmek yerine panodan yapıştırarak ekran görüntüleri eklemek için
- A1 ve Gitmike, kullanıcı arayüzünün görünümünü değiştirmek için iki tema
Önceden var olan bir veritabanına ihtiyacınız olduğu için veritabanı geçişi gerektiren eklentileri hariç tutuyoruz. Sizin için iyi fikirlerimiz olduğu için, taşıma gerektiren bir eklenti yüklemeniz gerekiyorsa lütfen aşağıya yorum yapın.
Dockerdosyasını Yazma
Dockerfile, Docker görüntüsünün nasıl oluşturulacağına dair bir reçetedir. Burada öğreneceğimiz ilk gerçek, imajımızı başka bir imaj üzerine dayandırmamız gerektiğinden, resmi olanı Redmine için kullanacağız
Redmine'dan
Dockerfile'ın bu ilk satırı, yazı yazılırken 4.1.0 olan en son ve en büyük görüntüye dayandırılır. Bu, en son sürüm ne olursa olsun, bu resmin yapısını bozabilecek beklenmedik yeni sürümlerden kaçınmak için belirli bir sürümü kullanmayı tercih edebilirsiniz.
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!
Özel resminizi Docker Hub'a yükleme
Yeni oluşturduğunuz görüntü yalnızca yerel ortamınızda kullanılabilir. Ya başkaları için kullanılabilir hale getirmek istiyorsanız, diyelim ki herkese? Tabii ki, Dockerfile ve ilgili dosyaları bir git repo'ya yükleyebilirsiniz ve ilgilenenler görüntüyü kendileri oluşturabilir. Ancak Docker, oluşturulan görüntüyü kayıt defterine yüklemenizi de sağlar. Bunun için hub.docker.com'da bir hesap oluşturun ve ayrıca resminiz için bir havuz oluşturun. Sonra terminalde böyle giriş yapın
liman işçisi girişi
Resminize yüklenebilmesi için resminizi etiketleyin
docker etiketi my-redmine: latest lcofre / redmine: latest
ve böyle it
docker push lcofre / redmine: en yeni
Docker kayıt defterindeki Docker görüntüsü
Artık herkes görüntünüzü deneyerek
docker run -it -p 3000: 3000 - adı my-redmine lcofre / redmine
Bu kadar! Standart bir Redmine kurulumundan Docker kayıt defterinden erişilebilen kişiselleştirilmiş bir sürüme bu şekilde geçersiniz. Lütfen yorumlarınızı veya sorularınızı aşağıda paylaşın.
Docker görüntü boyutunu kırpma
Sen-ecek bulmak Depodaki Dockerfile birçok çizgiyi bir araya getirdi. Bu, daha küçük görüntüler oluşturmak için bir Docker önerisidir. Bu tavsiyeyi ve diğerlerini şurada bulabilirsiniz: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/
Görüntünün son boyutunu azaltmak için başka bir öneri de Redmine'ın alpin versiyonunu kullanmaktır
KİMDİR Redmine: alpin
Alpine farklı bir linux dağılımıdır. Paketleri yüklemek için apt kullanmak yerine apk kullanmanız gerekir.
Son bir ipucu: Dockerfile içinde apt ile yüklediğimiz paketlere, görüntü oluşturulduktan sonra artık gerek duyulmuyor. Çok aşamalı yapıları kullanma konusunda en iyi uygulamaları takip edebilirsiniz: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds
Küçük boyutlu bir Docker görüntüsü tutma pratiği, özellikle örnek sayısını artırmaya yardımcı olur, ancak görüntünüzdeki saldırı yüzeyini de azaltır.
Nihai Redmine yükseltmesi mi? Kolay.
Tek bir yazılımda mükemmel proje planlaması, yönetimi ve kontrolü için tüm güçlü araçları edinin.