Jak stworzyć własny obraz Redmine w Dockerze.

6/16/2020
9 minut
Lukáš Beňa -> Łukasz Beňa
Redmine to jeden z najpopularniejszych narzędzi do zarządzania projektami i problemami. Jeśli uznałeś, że musisz iść na urządzenie w środowisku produkcyjnym, prawdopodobnie wiesz, że istnieje oficjalny obraz docker, który umożliwi prostą instalację i skalowanie dla środowiska o wysokim zapotrzebowaniu.

Redmine przed adaptacją

Uwaga: Redmine natywny docker można znaleźć na https://hub.docker.com/_/redmine. Tutaj również można znaleźć dobre instrukcje dotyczące sposobu dodatku bazy danych i dodatku zewnętrznych folderów (aby dodatek wtyczki).

Jeśli jesteś jak ja i chcesz bezpośrednio zobaczyć kod do udostępnionego obrazu Redmine Docker, możesz przejść do https://github.com/lcofre/redmine i sprawdź plik Dockerfile.

Obraz Docker Redmine jest dobry, aby wyjść, chociaż może on działać dla swoich upodobań za pomocą wtyczek i motywów. W tym poradniku zbudujemy obraz Docker na podstawie oficjalnego, dodamy kilka motywów i wtyczek oraz wgrajmy go do podręcznika docker.

Dla uproszczenia nie będziemy korzystać z usługi bazy danych, ale z obsługi bazy danych w kontenerze Redmine. W środowisku produkcyjnym jednak zaleca się skonfigurowanie kontenera pamięci urządzenia.


Wtyki i motywy

Wymyślono kilka wtyczek i motywów, aby zilustrować różne systemy podawania ich do Redmine:

  • Ukryj pasek boczny, wzrosło rozszerzenie przestrzeni ekranuowej, dodatkowo podczas pisania problemów
  • Wklej ze schowka, umożliwiając włączenie zrzutu ekranu przez wklejanie ze schowka zamiast wybierania pliku
  • A1 i Gitmike, dwa motywy ustawienia wyglądu użytkownika

Wykluczamy wtyczkę, która wymaga opłaty za bazę danych, ponieważ konieczność obsługi jest bazą danych. Proszę o komentarz poniżej, jeśli wezmę aplikację, która wymaga pomocy, ponieważ mamy dla Ciebie dobre pomysły.


Pisanie pliku Dockerfile

Plik Dockerfile do przepisu na budowanie obrazu Docker. pierwsza, którą się dowiemy, jest do, że pomagamy wspierać nasz obraz na innym obrazie, więc sprawdzamy oficjalnego dla Redmine

Z Redmine

Ta pierwsza linia pliku Dockerfile zawiera nasz obraz na najlepszym i najlepszym obrazie, 4.1.0 w chwili pisania. Aby pobrać wersję, możesz użyć specjalnej wersji, aby dodać nieoczekiwane nowe wersje, które mogą zepsuć tworzenie tego obrazu

Z Redmine: 4.1.0


Używanie Git do pobierania efektów

W niektórych przypadkach motywy i wtyczki mają repozytoria git, z których możemy korzystać jako główny kod. Tak jest w przypadku trzech powodów.

Podstawowy obraz Redmine nie zawiera gita, ale można go dodać do obrazu w ten sposób:

Uruchom RUN apt install -y git

Do wykonania podczas oglądania i korzystania z gita w instrukcji.

Motyw Gitmike: zalecają bezpośrednie klonowanie ich repozytorium

URUCHOM klon git https://github.com/makotokw/redmine-theme-gitmike.git public / themes / gitmike

Ten wiersz zapisze sklonowany projekt w podanym folderze public/themes

Ukryj pasek boczny: Ten sam proces można zastosować do wtyczek. Wymagane jest umieszczenie ulokowanego sklonowanego folderu w folderze wtyczek

URUCHOM klon git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Wklej obraz ze schowka: Aby również wyświetlić typową procedurę, sklonuj repozytorium i jesteś gotowy do działania

URUCHOM klon git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

Ale jeśli przeczytaj trochę więcej, zobacz, że "zaleca się zainstalowanie gemu RMagick, w rzeczywistości załączone obrazy nie będą wyświetlać się w plikach PDF". Jak do tego? Chcesz być taki prosty jak

URUCHOM gem zainstaluj rmagick

ale prawdopodobnie wiesz, że gem musi zostać zainstalowany przed zainstalowaniem, więc musisz mieć kilka pakietów przed zainstalowaniem gemu. Wiersz, który naprawdę przekonał, do

URUCHOM apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem zainstaluj rmagick

Wszystko w jednej komendzie, podzielone na dwie linie dla czytelności.

Oryginalny autor tej wtyczki dostarczającej wersję dla Redmine 4, ale szukaj nazwy wtyczki w GitHubie skierowało mnie na projekt, który ją ma: RubyClickAP / clipboard_image_paste.


Dodawanie lub wtyczka motywu z pobranego źródła

Motyw A1 jest dobrze widoczny, aby wyświetlić przypadki, gdy masz źródło, ale nie masz adresu URL podczas pobierania procesu pobierania. Niektóre z technologii w takich przypadkach są wykorzystywane jako źródła do przetwarzania. W ten sposób zawartość zostanie dodana do obrazu bez jej pobierania.

KOPIUJ a1 public / themes / a1

Wymagane jest, aby folder a1 był w tym samym miejscu, co plik Dockerfile.

Teraz jesteś gotowy do zbudowania swojego obrazu, więc otwórz terminal tam, gdzie znajduje się plik Dockerfile, wykonaj

docker buduje -t my-redmine.

Po zbudowaniu będziesz mógł zbudować swój obraz za pomocą

docker run -it -p 3000: 3000 --name my-redmine my-redmine

Otwórz http://localhost:3000, aby zobaczyć swoje ulubionego Redmine'a!

Redmine po utrwalaniu


Kilka innych, jak dodać więcej wtyczek

Aby zainstalować nowe złącze, zawsze lepiej używać świeżego kontenera Redmine. W ten sposób zgłoszono opinię, że rmagick wymaga zainstalowania niektórych pakietów. Uruchomienie kontenera Redmine z

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

a następnie wejdź do kontenera za pomoc

docker exec - it test-redmine bash

Tam zainstaluj pakiety systemowe, gemy lub uruchom migracje. Po prostu pamiętaj o krokach, aby móc dodać je do swojego pliku Dockerfile!


Przesyłanie zewnętrznego obrazu do Docker Hub

Obraz, który właśnie zbudowałeś, jest dostępny tylko w twoim porównaniu. Co, jeśli chcesz udostępnić innym, powiedzmy wszystkim? Oczywiście, możesz pobrać plik Dockerfile i dołączone pliki do repozytorium git, a zainteresowani będą mogli sami zobaczyć obraz. Ale Docker pozwala również na wykorzystanie obrazu do ich programu. W tym celu utwórz konto na hub.docker.com i utwórz również repozytorium dla swojego obrazu. Następnie zaloguj się w terminalu w ten sposób:

login dokera

Oznacz swój obraz, aby można było iść do twojego repozytorium

tag dokera my-redmine: najnowsze lcofre / redmine: najnowsze

muszę iść w ten sposób

docker push lcofre / redmine: najnowszy

Obraz Docker w rejestracji Docker

Teraz możesz wykorzystać każdy Twój obraz, dołącz

docker run -it -p 3000: 3000 - nazwa my-redmine lcofre / redmine

Wszystko! Tak przeszedłeś od standardowej instalacji Redmine do standardowej wersji dostępnej w rejestrze Docker. Podziel się swoimi komentarzami lub pytaniami poniżej.


Zmniejszenie standardu obrazu Docker

Uważaj, że plik Dockerfile w repozytorium połączyło wiele linii w jedną. Jest zalecenie Dockera, aby uzyskać mniejsze obrazy. Możesz znaleźć tę zabawę i inną na stronie https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

Innym zaleceniem dotyczącym korzystania z obrazu jest wersja alpine Redmine

FROM Redmine: alpejski

Alpine do innej dystrybucji Linuxa. Zamiast standardowego apt do instalowania pakietów, użyj funkcji apk.

Ostatnia wskazówka: pakiety, które zainstalowaliśmy za pomocą apt w pliku Dockerfile, nie są już potrzebne po zbudowaniu obrazu. Możesz postępować zgodnie z praktyką stosowania wieloetapowych konstrukcji: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Praktyka obsługi małego obrazu Docker pomaga szczególnie przy skalowaniu liczby administratorów, ale także zmniejszaniu wyglądu Twojego obrazu.

Najlepsza aktualizacja Redmine? Łatwa.

Zdobądź wszystkie narzędzia do doskonałego planowania, zarządzania i kontroli projektów w jednym oprogramowaniu.

Odkryj Easy Redmine

Wypróbuj Easy Redmine przez 30 dni za darmo

Pełne funkcje, wsparcie SSL, codzienne kopie zapasowe, dostępne w lokalizacji lokalizacji