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

6/16/2020
8 минути
Лукаш Беня.
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

Не: 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 адреси 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.


Еклентилер и Темалар

Redmine'e eklemek için çeşitli yolları göstermek için birkaç eklenti ve tema seçtik:

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, размер 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

ОТ 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

ОТ Redmine: 4.1.0


Използване на Git за получаване на компонентите

В повечето случаи темите и плъгините имат git хранилища, където можем да изтеглим най-новия код. Такъв е случаят със следните три компонента.

Основното Redmine изображение идва без git, но можем да го добавим към изображението по този начин

ИЗПЪЛНАЙТЕ apt install -y git

Това ще бъде изпълнено, когато изображението е изградено и ще ви позволи да използвате git в следните инструкции.

Тема на Gitmike: те препоръчват директно клониране на тяхното репо

Клониране на RUN git https://github.com/makotokw/redmine-theme-gitmike.git обществена / теми / gitmike

Редът ще запише клонирания проект в съответната папка public / теми

Скриване на страничната лента: Същата процедура може да се приложи и за плъгини. Този не изисква нищо повече от поставянето на клонираната папка в папката с приставки

Клониране на RUN git https://gitlab.com/bdemirkir/sidebar_hide.git приставки / sidebar_hide

Клипборд Паста за изображения: Това също изглежда типичната процедура, клонирайте репо и сте добре да тръгнете

Клониране на RUN git https://github.com/RubyClickAP/clipboard_image_paste.git приставки / clipboard_image_paste

Но ако вие прочетете още малко ще видите, че „препоръчително е да инсталирате RMagick скъпоценен камък, в противен случай прикачените изображения няма да се показват в експортирани PDF файлове“. И така, как да направим това? Трябва да е толкова лесно, колкото

RUN скъпоценен камък инсталирате rmagick

но вероятно знаете, че скъпоценният камък трябва да бъде изграден, преди да може да бъде инсталиран, така че трябва да инсталирате някои пакети, преди да инсталирате скъпоценния камък. Линията, от която наистина се нуждаете, е

RUN apt install -y build-съществена imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem инсталирате rmagick

Всичко в една команда, разделена на два реда за четене.

Оригиналният автор на тази приставка не предоставя версия за Redmine 4, но търсене на името на плъгина в GitHub ме кацна на проект, който прави: RubyClickAP / clipboard_image_paste.


Добавяне на приставка или тема от изтеглен източник

- Тема А1 е добър пример за илюстриране на случаите, когато имате източника, но не и URL за изтегляне по време на процеса на изграждане. Една от възможностите в такива случаи е да се предостави източникът на процеса на изграждане. По този начин съдържанието се добавя към изображението, без да го изтегляте

КОПИРАНЕ a1 обществено / теми / a1

Това изисква папката a1 да бъде на същото място, в което е Dockerfile.

Сега сте готови да изградите вашето изображение, така че отворете терминал, където е вашия Dockerfile и се изпълнява

docker build -t my-redmine.

Веднъж изграден, ще можете да стартирате вашето изображение

docker run -it -p 3000: 3000 - име my-redmine my-redmine

Вървете напред и отворете http: // localhost: 3000, за да видите вашия персонализиран Redmine!

Redmine след персонализиране


Някои съвети за добавяне на още плъгини

За да изпробвате нови приставки, винаги е по-добре да използвате свеж контейнер Redmine. Ето как разбрах, че rmagick изисква да бъдат инсталирани някои пакети. Първо, стартирайте премахващ се екземпляр на Redmine с

docker run --rm -d -p 3000: 3000 - име тест-redmine redmine

и след това въведете инстанцията с

docker exec - това е тест-redmine bash

Там можете да инсталирате ОС пакети, скъпоценни камъни или да стартирате миграции. Просто запомнете стъпките, за да можете да ги добавите във вашия 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

вход за докер

Resminizi depoya yükleyebilmesi için etiketleyin

docker tag my-redmine: последен lcofre / redmine: най-нов

ve şu şekilde итин

docker push lcofre / redmine: най-късно

Docker kayıt defterindeki Docker resmi

Artık herkes resminizi deneyebilir

docker run -it -p 3000: 3000 - име my-redmine lcofre / redmine

İşte bu kadar! Но стандартният 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 soularınızı aşağıya paylaşın.


Docker resim boyutunu kırpma

Докер файл на Depodaki 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/ Можете да намерите на адреса.

Resmin son boyutunu azaltmak için başka bir öneri, Redmine'in alpine sürümünü kullanmaktır

ОТ Redmine: алпийски

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? Колай.

Tüm güçlü araçları tek bir yazılımda mükemmel proje planlama, yönetim ve kontrol için edinin.

Колай Редминеи Кешфедин

Easy Redmine'ı 30 gün ücretsiz deneyin

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