За да създадете собствения си персонализиран Docker Redmine.

6/16/2020
9 минути
Лукаш Беня -> Лукаш Беня
Redmine este una dintre cele mai populare instrumente pentru managementul proiectelor și urmărirea problemlor. Dacă l-ați încercat sau ați fost nevoit să-l instalați într-un mediu de producție, bibl că știți și că există o imagine oficială Docker care simplifică foarte mult instalarea și scalarea pentru mediu cu cerere mare.

Redmine înainte de personalizare

Забележка: Redmine nativ docker можете да намерите адреса https://hub.docker.com/_/redmine. Aici puteți găsi, de asemenea, instrucțiuni bune despre cum să populați o bază de date externă și să montați foldere externe (за да изпълните инсталационния плъгин-uri).

Dacă sunteți ca mine și preferați să vedeți direct codul pentru construirea unei imagini Docker Redmine personalize, puteți merge la github.com/lcofre/redmine и проверка на Dockerfile-ul.

Представете си, че Docker Redmine е точка за порно видео, което вероятно ще ви помогне да персонализирате плъгини и теми с две предпочитани dvs. В този ghid, от конструирането на базата на Docker като официална, добавете темата на câteva и плъгин-uri и я включете в регистъра на Docker.

Ако сте опростени, не можете да използвате външната база данни, както и вътрешната база данни в контейнера на Redmine. Pentru un mediu de producție, este recomandabil să configurați un container de stocare dedicat.


Плъгини и теми

Имам всички плъгини и теми за промяна на модурите на илюстрациите за добавяне на Redmine:

Excludem plugin-urile грижата е необходима за мигриране на база данни от дата, деоарирайте aveți nevoie от базата на съществуваща дата. Vă rugăm să komentari mai jos dacă aveți nevoie să instalați un plugin care necesită migrări, deoarece avem idei bune pentru dvs.


Scrierea Dockerfile-ului

Dockerfile е файлът, който се съхранява от конструкцията на Docker. Prima informație pe care o vom învăța aici este că trebuie să ne bazăm imaginea pe o altă imagine, deci vom folosi cea oficială pentru Redmine

ОТ Redmine

Първоначалната линия на Dockerfile-ului в базата на изображението, ноастрата за най-новото и най-новата версия, 4.1.0 в момента на писане. Deoarece acest lucru va lua orice versiune este cea mai recentă, este posibil să preferați să utilizați o versiune specifică pentru a evita versiuni noi neașteptate care pot strica construirea acestei imagini

ОТ Redmine: 4.1.0


Folosind Git pentru a obține componente

În majoritatea cazurilor, temele și plugin-urile au Git de unde depozite чрез изтегляне на cel mai recent cod. Acesta este cazul pentru următoarele tri componente.

Представяне на базата на Redmine vine от Git, чрез добавяне на изображението във фелул часовник:

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

Можете да изпълните тази конструкция и да си представите такава конструкция и да разрешите използването на Git в инструкциите.

Тема Gitmike: aceștia recomandă clonarea repo-ului lor direct

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

Linia va sava proiectul clonat în folderul corespunzător public/themes

Ascunde bara laterală: Пристъпете към процедура, която ще ви помогне да използвате приложението и плъгин-urilor. Не е необходимо да клонирате пласарна папка в папка с плъгин-urilor

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

Lipirea imaginii в клипборда: Acesta pare, de asemenea, a fi procedura tipică, clonarea repo-ului și sunteți gata să mergeți

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

Dar dacă citiți puțin mai mult, veți vedea că „препоръчително е да инсталирате gem-ului RMagick, ако искате да добавите изображение към файл, експортиран в PDF файл“. Deci, cum facem asta? Ar trebui să fie la fel de ușor ca

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

Dar probabil știți că gem-ul trebuie construit înainte de a putea fi instalat, deci trebuie să instalați unele pachete înainte de a instala gem-ul. Linia de care aveți nevoie este

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

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

Toate într-o singură comandă, отделно în două linii pentru lizibilitate.

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


Adăugarea unui plugin sau temă dintr-o sursă descărcată

Тема А1 este un bun exemplu pentru a ilustra casurile în care aveți sursa, dar nu și un URL pentru a descărca în timpul procesului de construire. O opțiune în astfel de cazuri este de a furniza sursa procesului de construire. Astfel, conținutul este adăugat la imagine fără a fi descărcat

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

Необходима е папка a1, която трябва да бъде намерена в Dockerfile файл.

Acum sunteți pregătit să construiți imaginea, deci deschideți un terminal unde se află fișierul Dockerfile și executați

docker build -t my-redmine.

După construire, veți putea rula imaginea cu

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

Достъп до http://localhost:3000 за персонализиране на Redmine!

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


Câteva sfaturi pentru a dăuga mai multe plugin-uri

Ако имате нов плъгин, трябва да използвате контейнера Redmine. Așa am realizat că rmagick necesită instalarea unor pachete. Mai întâi, rulați o instanță eliminabilă de Redmine cu

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

și apoi intrați în instanță cu

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

Acolo puteți instala pachetele OS, gem-uri sau rula migrații. Doar amintiți-vă pașii astfel încât să le puteți adăuga la fișierul Dockerfile!


Încărcarea imaginii персонализиране в Docker Hub

Представете си, че се грижите за това, че сте изградили такова място в местната среда. Ce se întâmplă dacă doriți să o faceți disponibilă și altora, să spunem tuturor? Проектирайте, вкарайте Dockerfile и fișierele aferente într-un repo git, който ви интересува, за да конструирате въображение на сингури. Dar Docker ви разрешава, de asemenea, să încărcați imaginea construită în registrul lor. Pentru asta, creați un cont în hub.docker.com и creați, de asemenea, un depozit pentru imaginea dvs. Apoi, conectați-vă în terminal astfel:

вход за докер

Etichetați imaginea astfel încât să poată fi încărcată în depozitul dvs.

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

și încărcați-o astfel

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

Представете си Docker в регистъра на Docker

Acum oricine poate încerca imaginea dvs. фасада

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

Atât! След като сте инсталирали стандартния Redmine или версията е персонализирана, достъпна в регистъра на Docker. Vă rugăm să împărtășiți comentariile sau întrebările dvs. mai jos.


Reducerea dimensiunii imaginii Docker

Veți constata că Dockerfile din repo единица multe linii într-una singură. Ако препоръчате Docker за лицето, което можете да си представите, можете да го направите. Puteți găsi acest sfat și altele în https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

O altă recomandare pentru a dimmensiunea finală dimensionii este de a utilize alpine alpine a Redmine

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

Alpine е различна дистрибуция на Linux. În loc să utilizați apt pentru a instala pachete, trebuie să utilizați apk.

Un utim sfat: pachetele pe care le-am instalat cu apt în Dockerfile nu mai sunt necesare după ce imaginea este construită. Puteți urma cea mai bună practică de a utiliza construcții cu mai multe etape: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Practica de a menține o imagine Docker de dimensiuni mici ajută în special atunci cân se mărește numărul de instanțe, dar reduce și suprafața de atac a imaginii dvs.

Окончателно актуализиране на Redmine? Ușoară.

Получете всички инструменти за управление на планирането, управлението и перфектния контрол на софтуера за въвеждане на софтуер на проектант.

Дескопирайте Easy Redmine

Изтеглете Easy Redmine за 30 дни безплатно изтегляне

Функциите са завършени, защитават SSL, резервни копия, архивиране, dvs геолокализация.