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

6/16/2020
8 minut
Łukasz 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üsü olduğunu da biliyorsunuz.

Ö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.

Kolay Redmine'i Keşfedin

Łatwy Redmine'ı 30 gün ücretsiz deneyin

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