Nasıl Özel Redmine Docker Görüntüsü Oluşturulur
Ö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.