За да създадете собствения си персонализиран Docker Redmine.
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:
- Ascunde bara laterală, un plugin pentru a permite mai mult spațiu pe ecran, în special atunci când se scriu problem
- Изтеглете клипборда, pentru a atașa capturi de ecran lipind din clipboard în loc să selectați un fișier
- A1 şi Гитмайк, două teme pentru a schimba aspectul UI-ului
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ă.
Получете всички инструменти за управление на планирането, управлението и перфектния контрол на софтуера за въвеждане на софтуер на проектант.