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

6/16/2020
8 minuter
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üorsunuz da biliyorsunuz da biliyorsunu oldu.

Özelleştirmeden önceki Redmine

Inte: 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'ı kontroll 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, storlek 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

FRÅN 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

FRÅN Redmine: 4.1.0


Använda Git för att få komponenterna

I de flesta fall har teman och plugins gitförvar där vi kan ladda ner den senaste koden. Detta är fallet för följande tre komponenter.

Basen Redmine-bilden kommer utan git, men vi kan lägga till den till bilden på detta sätt

KÖR apt installation -y git

Detta kommer att köras när bilden är byggd och låter dig använda git i följande instruktioner.

Gitmike-tema: de rekommenderar att klona sin repo direkt

KÖR GIT-klon https://github.com/makotokw/redmine-theme-gitmike.git offentliga / themes / gitmike

Linjen sparar det klonade projektet i lämplig mapp public / teman

Dölj sidofältet: Samma procedur kan tillämpas på plugins. Den här kräver inget annat än att placera den klonade mappen i plugin-mappen

KÖR GIT-klon https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Urklipp Bildklistra: Detta verkar också vara den typiska proceduren, klona repo och du är bra att gå

KÖR GIT-klon https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Men om du läs lite mer ser du att "det rekommenderas att installera RMagick-pärla, annars visas inte bifogade bilder i exporterade PDF-filer". Så hur gör vi det här? Det borde vara lika enkelt som

KÖR pärla installera rmagick

men du vet förmodligen att pärla måste byggas innan den kan installeras, så du måste installera några paket innan du installerar pärla. Linjen du verkligen behöver är

KÖRA apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem installera rmagick

Allt i ett kommando, separerat i två rader för läsbarhet.

Den ursprungliga författaren till detta plugin ger inte en version för Redmine 4, men en sökning av plugin-namnet i GitHub landade mig på ett projekt som gör: RubyClickAP / clipboard_image_paste.


Lägga till ett plugin eller ett tema från en nedladdad källa

Smakämnen A1-tema är ett bra exempel för att illustrera de fall där du har källan, men inte en URL att ladda ner under byggprocessen. Ett alternativ i fall som detta är att ge källan till byggprocessen. På så sätt läggs innehållet till i bilden utan att ladda ner det

COPY a1 public / teman / a1

Detta kräver att mappen a1 är på samma plats som Dockerfile är.

Nu är du redo att bygga din bild, så öppna en terminal där din Dockerfile är och kör

docker build -t my-redmine.

När den är byggd kan du köra din bild med

docker run -it -p 3000: 3000 - namn min-redmine my-redmine

Gå vidare och öppna http: // localhost: 3000 för att se din anpassade Redmine!

Redmine efter anpassning


Några tips för att lägga till fler plugins

För att testa nya plugins är det alltid bättre att använda en ny Redmine-behållare. Det var så jag insåg att rmagick kräver att vissa paket installeras. Kör först en kasserbar instans av Redmine med

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

och ange sedan instansen med

docker exekvera -it test-redmine bash

Där kan du installera OS-paket, ädelstenar eller köra migreringar. Kom bara ihåg stegen så att du kan lägga till dem i din 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-inloggning

Resminizi depoya yükleyebilmesi için etiketleyin

docker tag my-redmine: senaste lcofre / redmine: senaste

ve şu şekilde itin

docker push lcofre / redmine: senaste

Docker kayıt defterindeki Docker resmi

Artık herkes resminizi deneyebilir

docker run -it -p 3000: 3000 - name 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 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/ Du hittar adressen.

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

FRÅN Redmine: alpin

Alpine farklı bir 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 control için edinin.

Kolay Redmine'i Keşfedin

Lätt Redmine'ı 30 gün ücretsiz deneyin

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