Nasıl Özel Redmine Docker Görüntüsü Oluşturulur
Ö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:
- Kenar gelenleri gizler, özellikle sorunları yazarken daha fazla ekran alanı sağlamak için bir eklenti
- Panodan yapıştırılır, bir dosyayı seçmek yerine panodan ekran ayrıntılarını seçmek için
- A1 ve Gitmike, aralığın sonuçlarının süreleri iki tema
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.