Nasıl Özel Redmine Docker Görüntüsü Oluşturulur
Özelleştirmeden önceki Redmine
Nie: Redmine'in yerel docker sürümü https://hub.docker.com/_/redmine bulunabilir adresu. 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 kod doğrudan görmeyi tercih ederseniz, https://github.com/lcofre/redmine adres gidip Dockerfile'ı kontrola 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 i Temalar
Redmine'e eklemek için çeşitli yolları göstermek için birkaç eklenti ve temat 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, rozmiar iyi fikirlerimiz var.
Dockerfile w Yazmie
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
Z 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
Z Redmine: 4.1.0
Korzystanie z Git, aby uzyskać składniki
W większości przypadków motywy i wtyczki mają repozytoria git, z których możemy pobrać najnowszy kod. Dotyczy to następujących trzech elementów.
Podstawowy obraz Redmine jest dostępny bez git, ale w ten sposób możemy go dodać do obrazu
Uruchom RUN apt install -y git
Zostanie to wykonane po zbudowaniu obrazu i pozwoli ci użyć git w poniższych instrukcjach.
Motyw Gitmike: zalecają bezpośrednie klonowanie swojego repozytorium
URUCHOM klon git https://github.com/makotokw/redmine-theme-gitmike.git public / themes / gitmike
Linia zapisze sklonowany projekt w odpowiednim folderze public / themes
Ukryj pasek boczny: Tę samą procedurę można zastosować do wtyczek. Ten wymaga jedynie umieszczenia sklonowanego folderu w folderze wtyczek
URUCHOM klon git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide
Wklej obraz ze schowka: Wydaje się to również typową procedurą, sklonuj repozytorium i możesz zacząć
URUCHOM klon git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste
Ale jeśli ty czytaj więcej zobaczysz, że „zalecane jest zainstalowanie klejnotu RMagick, w przeciwnym razie załączone obrazy nie będą wyświetlane w eksportowanych plikach PDF”. Więc jak to robimy? To powinno być tak proste jak
URUCHOM gem zainstaluj rmagick
ale prawdopodobnie wiesz, że klejnot musi zostać zbudowany, zanim będzie można go zainstalować, więc musisz zainstalować kilka pakietów przed zainstalowaniem klejnotu. Linia, której naprawdę potrzebujesz, to
URUCHOM apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \
&& gem zainstaluj rmagick
Wszystko w jednym poleceniu, oddzielone w dwóch wierszach dla czytelności.
Oryginalny autor tej wtyczki nie udostępnia wersji dla Redmine 4, ale wyszukiwanie nazwy wtyczki w GitHub znalazło mnie w projekcie, który: RubyClickAP / clipboard_image_paste.
Dodanie wtyczki lub motywu z pobranego źródła
Połączenia Motyw A1 jest dobrym przykładem ilustrującym przypadki, w których masz źródło, ale nie adres URL do pobrania podczas procesu kompilacji. Jedną z opcji w takich przypadkach jest dostarczenie źródła do procesu budowy. W ten sposób zawartość jest dodawana do obrazu bez pobierania
KOPIUJ a1 public / themes / a1
Wymaga to, aby folder a1 znajdował się w tym samym miejscu, co plik Docker.
Teraz możesz zbudować swój obraz, więc otwórz terminal, w którym znajduje się plik Dockerfile i uruchom go
docker buduje -t my-redmine.
Po zbudowaniu będziesz mógł uruchomić swój obraz
docker run -it -p 3000: 3000 --name my-redmine my-redmine
Śmiało i otwórz http: // localhost: 3000, aby zobaczyć swój niestandardowy Redmine!
Redmine po dostosowaniu
Kilka wskazówek, jak dodać więcej wtyczek
Aby wypróbować nowe wtyczki, zawsze lepiej jest użyć świeżego pojemnika Redmine. W ten sposób zdałem sobie sprawę, że rmagick wymaga zainstalowania niektórych pakietów. Najpierw uruchom odrzucalną instancję Redmine za pomocą
docker run --rm -d -p 3000: 3000 - nazwa test-redmine redmine
a następnie wprowadź instancję za pomocą
docker exec - it test-redmine bash
Tam możesz zainstalować pakiety systemu operacyjnego, klejnoty lub uruchomić migracje. Pamiętaj tylko o krokach, aby dodać je do pliku Docker!
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
login dokera
Resminizi depoya yükleyebilmesi için etiketleyin
tag dokera my-redmine: najnowsze lcofre / redmine: najnowsze
ve şu şekilde itin
docker push lcofre / redmine: najnowszy
Docker może zdefiniować Resmi Dockera
Artık herkes resminizi deneyebilir
docker run -it -p 3000: 3000 - nazwa my-redmine lcofre / redmine
Iş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 plik Docker 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/ na.
Resmin son boyutunu azaltmak için başka bir öneri, Redmine'in alpine sürümünü kullanmaktır
FROM Redmine: alpejski
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çeklendirirkenyardımcı olur, ayrıca resminizdeki saldırı yüzeyini azaltır.
Redmine yükseltmesi için en iyi seçenek mi? Kolaj.
Tüm güçlü araçları tek bir yazılımda mükemmel proje planlama, yönetim ve kontrol için edinin.