Nasıl Özel Redmine Docker Görüntüsü Oluşturulur
Øzelleştirmeden önceki Redmine
Ikke: Redmine'in yerel docker sürümü https://hub.docker.com/_/redmine adresseinde 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'ı kontrol 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, størrelse 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
FRA 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
FRA Redmine: 4.1.0
Brug af Git til at hente komponenterne
I de fleste tilfælde har temaer og plugins git-lagre, hvor vi kan hente den nyeste kode. Dette er tilfældet for de følgende tre komponenter.
Basis Redmine-billedet kommer uden git, men vi kan føje det til billedet på denne måde
KØR apt installation -y git
Dette udføres, når billedet er bygget, og giver dig mulighed for at bruge git i følgende instruktioner.
Gitmike-tema: de anbefaler at klone deres repo direkte
Kør git klon https://github.com/makotokw/redmine-theme-gitmike.git offentlig / temaer / gitmike
Linjen gemmer det klonede projekt i den relevante mappe offentlighed / temaer
Skjul sidebjælke: Den samme procedure kan anvendes på plugins. Denne kræver intet mere end at placere den klonede mappe i plugins-mappen
Kør git klon https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Klippebord Billedpasta: Dette synes også den typiske procedure, klone repoen, og du er god til at gå
Kør git klon https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
Men hvis du læs lidt mere ser du, at "det anbefales at installere RMagick perle, ellers vises vedhæftede billeder ikke i eksporterede PDF-filer". Så hvordan gør vi det? Det skal være så let som
RUN perle installer rmagick
men du ved sandsynligvis, at perlen skal bygges, før den kan installeres, så du skal installere nogle pakker, før du installerer perlen. Den linje, du virkelig har brug for, er
Kør apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& perleinstallere rmagick
Alt i en kommando, adskilt i to linjer for læsbarhed.
Den originale forfatter af dette plugin giver ikke en version til Redmine 4, men en søgning efter plugin-navnet i GitHub landede mig på et projekt, der gør: RubyClickAP / clipboard_image_paste.
Tilføjelse af et plugin eller et tema fra en downloadet kilde
A1-tema er et godt eksempel til at illustrere de tilfælde, hvor du har kilden, men ikke en URL, der skal downloades under byggeprocessen. En mulighed i tilfælde som denne er at give kilden til byggeprocessen. På den måde føjes indholdet til billedet uden at downloade det
KOPI a1 offentlig / temaer / a1
Dette kræver, at mappen a1 er på det samme sted, som Dockerfile er.
Nu er du klar til at opbygge dit billede, så åbn en terminal, hvor din Dockerfile er og udfør
docker build -t min-redmine.
Når den er bygget, kan du køre dit billede med
docker run -it -p 3000: 3000 - navn min-redmine min-redmine
Gå videre og åbn http: // localhost: 3000 for at se din brugerdefinerede Redmine!
Redmine efter tilpasning
Nogle tip til at tilføje flere plugins
For at prøve nye plugins er det altid bedre at bruge en frisk Redmine-beholder. Det var sådan jeg indså, at rmagick kræver, at nogle pakker skal installeres. Kør først en forkastelig forekomst af Redmine med
docker run --rm -d -p 3000: 3000 - navn test-redmine redmine
og indtast derefter forekomsten med
docker udfører -det test-redmine bash
Der kan du installere OS-pakker, perler eller køre migrationer. Bare husk trinnene, så du kan tilføje dem til 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-login
Resminizi depoya yükleyebilmesi için etiketleyin
docker tag my-redmine: seneste lcofre / redmine: seneste
ve şu şekilde itin
docker push lcofre / redmine: seneste
Docker kayıt defterindeki Docker resmi
Artık herkes resminizi deneyebilir
docker run -it -p 3000: 3000 - navn 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 kan finde adressen.
Resmin son boyutunu azaltmak için başka bir öneri, Redmine'in alpine sürümünü kullanmaktır
FRA Redmine: alpin
Alpine farklı bir Linux dağıtımıdır. Paketleri yüklemek için apt yerine apk kullanmanız gerekmektedir.
Søn 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 kontrol için edinin.