Използването на eiga tilpassa Redmine Docker файл

6/16/2020
8 минути
Лукаш Бена
Redmine е eitt av dei most populære verktøya за анализиране на прогнози и отстраняване на проблеми. Om du har prøvd det или måtte installere det i ein produksjonsmiljø, veit du sannsynlegvis også at det finst eit offisielt Docker-bilete som gjer installasjon og skalering mykje enklare for høgtrafikkmiljø.

Redmine за tilpasning

Марка: Родният докер на Redmine може да бъде извършен https://hub.docker.com/_/redmine. Her kan du også finne gode instruksjoner om hvordan du filer en extern database og monterer eksterne mapper (за å kunne installere plugins).

Hvis du er som meg og foretrekker å se koden direktno for å bygge et tilpasset Redmine Docker-bilde, kan du go go til github.com/lcofre/redmine и изгледайте Dockerfile.

Redmine Docker-bildet er et goodt utgangspunkt, selv om du sannsynligvis vil tilpasse det med plugins og temaer du liker. Имам забележки, които ви позволяват да направите Docker-снимка, базирана на официалното приложение, без тема и плъгини, и да го използвате за docker-registret.

Av enkelhets skyld vil vi ikke bruke en extern database, men en intern database i Redmine-containeren selv. For et produksjonsmiljø anbefales det imidlertid å sette opp en dedikert lagringscontainer.


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

Вие не разполагате с никакви плъгини и теми за илюстриране на forskjellige måter å legge dem til Redmine på:

Имате ексклудерни плъгини, които създават актуализиране на база данни, за да поддържат и съществуваща база данни. Vennligst commenter nedenfor hvis du trenger å installere en plugin som krever oppdateringer, da vi har gode ideer til deg.


Skriver Docker файл

Dockerfile е oppskrift, който се използва за инсталиране и Docker-снимка. Det første vi vil lære her er at vi må basere bildet vårt på et annet bilde, så vi vil bruke det offisielle for Redmine

FRA Redmine

Този първи файл в Dockerfile ще бъде базиран на най-новата и най-добрата версия, 4.1.0 на сървъра. Siden dette vil hente hvilken som helst versjon som er nyeste, kan du foretrekke å bruke en spesifikk versjon for å unngå uventede nye versjoner som kan ødelegge byggingen av dette bildet

FRA Redmine: 4.1.0


Å bruke Git за å få компоненти

I de fleste tilfeller har temaer og utvidelser git-repositorier der vi kan laste ned den nyeste koden. Dette gjelder for følgende tri komponente.

Den grunnleggende Redmine-bildet kommer uten git, men vi kan legge det til bildet på denne måten

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

Dette vil bli utført når bildet bygges og vil tillate deg å bruke git i de følgende instruksjonene.

Гитмике-темает: de anbefaler å klone repoet deres direkte

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

Linjen vil lagre det klonede prosjektet i riktig mappe public/themes

Skjul страничен панел: Samme prosedyre kan brukes på utvidelser. Denne krever ingenting annet enn å plassere den klonede mappen i utvidelsesmappen

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

Клипборд Паста за изображения: Dette virker også som den typiske prosedyren, klon repoet og du er klar til å gå

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

Men hvis du малко повече vil du se at "det befales å installere RMagick-gem, ellers vil vedlagte bilder ikke megess and exporter PDF-filer". Så hvordan gjør vi dette? Det burde være like enkelt som

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

men du vet sannsynligvis at gem må bygges for det kan installeres, så du må installere noen packager for du installer gem. Linjen du virkelig trenger er

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

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

Alt i en commando, delt i to linjer for lesbarhet.

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


Legge til en utvidelse eller et tema fra en nedlastet kilde

А1-темает er et godt eksempel for å illustrere tilfellene der du har kilden, men ikke en URL å laste ned under byggeprosessen. Ett alternativa i slike tilfeller er å gi kilden til byggeprosessen. På den måten blir innholdet lagt til bildet uten å laste det ned

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

Тази творба в a1-mappen е на същото ниво като Dockerfilen.

Nå er du klar til å bygge bildet ditt, så åpne en terminal der Dockerfilen din er og kjør

docker build -t my-redmine.

Når det er bygget, kan du kjøre bildet med

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

Вижте и отворете http://localhost:3000, за да използвате Redmine!

Redmine etter tilpasning


Няма съвети за å legge til flere utvidelser

For å prove ut nye utvidelser er det alltid bedre å bruke en ny Redmine-container. Det er slik jeg oppdaget at rmagick krever and noen pakker blir installert. Først kjør en kastbar instans av Redmine med

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

og deretter gå inn i instansen med

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

Можете да инсталирате OS пакети, скъпоценни камъни или да мигрирате. Bare husk trinnene slik at du kan legge dem til Dockerfilen din!


Последната направена снимка е дефинирана за Docker Hub

Bildet du nettopp bygget er kun tilgjengelig i ditt lokale miljø. Hva om du ønsker å gjøre det tilgjengelig for andre, la oss si for alle? Самостоятелният файл може да бъде изтеглен от Dockerfilen и свързан файл за git-repo, както и от интерес, който може да бъде създаден самостоятелно. Men Docker lar deg også laste opp det bygde bildet til deres register. За това, изберете конто на hub.docker.com и изберете også и хранилище за това. Deretter logger du inn i terminalen slik

вход за докер

Merk bildet ditt slik and det kan lastes opp til ditt repo

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

og push det slik

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

Docker-bildet и Docker-регистриран

Nå kan hvem som helst prøve ut bildet ditt ved å gjøre

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

Det er det! Slik går du fra en standard Redmine-installasjon for en tilpasset verjon som er tilgjengelig in Docker-registeret. Vennligst del dine komentarer или spørsmål nedenfor.


Reduse størrelsen в Docker-bildet

Du vil oppdage at Dockerfilen и repoet har slått sammen mange linjer til én. Това е извършено от Docker за големи снимки. Du kan finne den anbefalingen og andre på https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

En annen anbefaling for å redusere den endelige størrelsen på bildet er å bruke alpine-versjonen av Redmine

FRA Redmine:алпийски

Alpine е част от дистрибуцията на Linux. Следвам за å bruke apt за å installere packager, må du bruke apk.

И системни съвети: опаковайте вие ​​инсталирайте с apt i Dockerfilen er ikke lenger nødvendige etter at bildet er bygget. Du kan følge beste praksis ved å bruke flertrinnsbygg: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Praksisen med å holde et lite Docker-bilde er spesielt nyttig når antallet instanser skaleres opp, men det reduserer også angrepsflaten på bildet ditt.

Последно надграждане на Redmine? Enkel.

Få alle kraftige verktøy for perfekt prosjektplanlegging, -styring og -kontroll i én programvare.

Оппдаг Easy Redmine

Пробвайте Easy Redmine в 30-те безплатни периода на проба

Пълна функционалност, SSL-защита, продължително сиккерхетско копие, и din geografiske plassering