ae
Jazyk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
ترجمة AI
  • ee
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

كيفية إنشاء صورة Docker مخصصة لـ Redmine الخاص بك

12/16/2023
8 minut
لوكاس بينا
Redmine هو أحد أشهر الأدوات لإدارة المشاريع وتتبع المتشكلاا إذا قمت بتجربته أو كان عليك تثبيته في بيئة إنتتاليةن ل تعلم أيضًا أن هناك صورة Docker رسمية تسهل بشكل كبير التثيييتتثبييتثبي ت ذات الطلب العالي.

Redmine قبل التخصيص

Poznámka: يمكن العثور على Docker الأصلي لـ Redmine على https://hub.docker.com/_/redmine. هنا يمكنك أيضًا العثور على تعليمات جيدة حول كيعدةاا مل خارجية وتركيب مجلدات خارجية (لتمكين تثبيت المكونلاإ ضونلاإ ض

إذا كنت مثلي وتفضل أن ترى مباشرةً الشفرة لبماخء صورة Redmine الانتقال إلى github.com/lcofre/redmine والتحقق من Dockerfile.

صورة Redmine Docker هي نقطة انطلاق جيدة ، على الرغم من أنك صبمغا تربماا ت استخدام المكونات الإضافية والسمات التي تفضلها. في هذا الدليل ، سنقوم ببناء صورة Docker استنادًا إلىرسلص٥رسلصورسلصورالصورالصورالصورالصوء صورة Docker افة بعض السمات والمكونات الإضافية ، وتحميلها إلى سجل Docker

لأسباب بساطة ، لن نستخدم قاعدة بيانات خارجية وختااندباتخدم ية في حاوية Redmine نفسها. ومع ذلك ، فمن المستحسن إعداد حاوية تخزين مخصصة تبايئة بيل.


المكونات الإضافية والسمات

اخترنا بعض المكونات الإضافية والسمات لتوضيح العلاف لنتالرق ل٥ الإضافية ها إلى Redmine:

  • Skryjte postranní panel ، وهو مكون إضافي يسمح بمزيد من مساحة الشاشة ب خاصة كاتنصد ك ,
  • Vložit ze schránky ، لإرفاق لقطات الشاشة عن طريق لصق من الحافظة بدلداً ململاً
  • A1 و Gitmike ، سمتان لتغيير مظهر واجهة المستخدم

نستبعد المكونات الإضافية التي تتطلب ترحيل حتتدة نايتتانبية إلى قاعدة بيانات موجودة مسبقًا. يرجى التعليق أدناه إذا كنت بحاجة إلى تثبيت مكححتا ٥ضاف يلات ، حيث لدينا أفكار جيدة لك.


كتابة ملف Dockerfile

ملف Dockerfile هو وصفة لكيفية بناء صورة Docker. أول حقيقة سنتعلمها هنا هي أنه يجب أن نستند صوررتنا صل ا سنستخدم الصورة الرسمية لـ Redmine

من Redmine

سيستند هذا السطر الأول في ملف Dockerfile أو صورتنا على أحدةث ص ي وقت الكتابة. نظرًا لأن هذا سيحصل على أي إصدار هو الأحدث ، قخد ت٧سضل داسضل حدد لتجنب إصدارات جديدة غير متوقعة قد تعطل بنرء هلذه

Verze Redmine: 4.1.0


استخدام Git للحصول على المكونات

في معظم الحالات، تحتوي السمات والمكونات الإضاثفية ؊عافية ؊عافية يمكننا تنزيل أحدث الشفرات. هذا هو الحال للمكونات الثلاثة التالية.

تأتي صورة Redmine الأساسية بدون Git، ولكن يمكننا إضافترذا الى ٷضافترذاالهى ريقة

SPUSTÍTE apt install -y git

سيتم تنفيذ هذا عند بناء الصورة وسيسمح لك باستختدال Git لكال الية.

Podívejte se na Gitmike: يوصون بنسخ مستودعهم مباشرة

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

سيقوم السطر بحفظ المشروع المستنسخ في المجلد المناسب public/themes

Skryjte postranní panel: يمكن تطبيق نفس الإجراء على المكونات الإضافية. هذا المكون لا يتطلب سوى وضع المجلد المستنسخ فيااناجلد ماجلد ية

RUN git klon https://gitlab.com/bdemirkir/sidebar_hide.git pluginy / sidebar_hide

Vložit obrázek schránky: يبدو أن هذا هو الإجراء النموذجي أيضًا، قم بنتلسوسومس الم ما يرام

RUN git klon https://github.com/RubyClickAP/clipboard_image_paste.git pluginy / clipboard_image_paste

ale pokud قرأت المزيد سترى أنه "يُوصى بتثبيت حزمة RMagick drahokam، وإلا فلن يتم ع؅رض افلصلو افلصل فات PDF المصدرة". فكيف يمكننا القيام بذلك؟ يجب أن يكون الأمر سهلاً مثل

RUN gem nainstalovat rmagick

ولكن ربما تعلم أنه يجب بناء الحزمة قبل أن يتم ذابلته تثبيت بعض الحزم قبل تثبيت الحزمة. السطر الذي تحتاجه حقًا هو

SPUSTÍTE apt install -y build-essential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem install rmagick

كل ذلك في أمر واحد، مفصول على سطرين لسهولة القراءة.

المؤلف الأصلي لهذا المكون الإضافي لا يوفر إصدثارلك ن4 عن اسم المكون الإضافي في GitHub أدى بي إلى مشروع يفعل ذلك: RubyClickAP / clipboard_image_paste.


إضافة مكون إضافي أو سمة من مصدر تم تنزيله

Vlastnost A1 هي مثال جيد لتوضيح الحالات التي تحتوي فيها فيها على دسلمصدكلمصداللصد ك عنوان URL لتنزيله أثناء عملية البناء. إحدى الخيارات في مثل هذه الحالات هو توفير ال٨صدرلنعم. بهذه الطريقة يتم إضافة المحتوى إلى الصورة دون تنزيله

KOPIE a1 veřejné / témata / a1

يتطلب ذلك وجود مجلد a1 في نفس المكان الذي يوجد فيه ملف Dockerfile

الآن أنت جاهز لبناء صورتك، لذا افتح الطرفية حي؃ث ا٧لجد ي٧لجد وقم بتنفيذ

stavitel doku -t můj-redmine.

بمجرد الانتهاء من البناء، يمكنك تشغيل الصورة السبكدةابكدةابكد

docker run -it -p 3000: 3000 - jméno my-redmine my-redmine

انتقل إلى http://localhost:3000 لرؤية Redmine المخصص الخاص بك!

Redmine بعد التخصيص


بعض النصائح لإضافة المزيد من المكونات الإضافية

červená جديدة. هذا هو كيف أدركت أن rmagick يتطلب تثبيت بعض الحزم. أولاً، قم بتشغيل نسخة قابلة للتجاهل من Redmine باستخدام

docker run - rm -d -p 3000: 3000 - jméno test-redmine redmine

ثم ادخل إلى النسخة باستخدام

docker exec -it test -redmine bash

هنا يمكنك تثبيت حزم النظام الأساسية، وحزم الجشغأهرت لرحاأهرت لات. فقط تذكر الخطوات حتى تتمكن من إضافتها إلى Dockerfile الخاص بك!


تحميل صورتك المخصصة إلى Docker Hub

الصورة التي قمت ببنائها متاحة فقط في بيئتك المحلية. ماذا لو كنت ترغب في جعلها متاحة للآخرين، فلنقل الجمي بالطبع، يمكنك تحميل ملف Dockerfile والملفات ذات الصلة إإتى ودسكى ودسلى مسلى ودملفات مهتمين بناء الصورة بأنفسهم. ولكن Docker يسمح لك أيضًا بتحميل الصورة المبنية إلى سجلهم. لذلك، قم بإنشاء حساب في hub.docker.com وأنشئ أيضًا مستودعًرتصوا لصو. ثم قم بتسجيل الدخول في الطرفية بهذا الشكل

přihlášení do doku

قم بوضع علامة على صورتك حتى يمكن تحميلها إلى مستودعك

docker tag my-redmine: latest lcofre / redmine: latest

وقم بدفعها بهذا الشكل

dokovací push lcofre / redmine: nejnovější

صورة Docker في سجل Docker

الآن يمكن لأي شخص تجربة صورتك عن طريق القيام بالتالي

docker run -it -p 3000: 3000 - jméno my-redmine lcofre / redmine

هذا كل شيء! هكذا تتحول من تثبيت Redmine القياسي إلى نسخة شخصية يصالو اللكون ال ل Docker. يرجى مشاركة تعليقاتك أو أسئلتك أدناه.


تقليص حجم صورة Docker

ستجد أن ملف Dockerfile في المستودع قام بدمج العديد من الأسطر في سطر واحد. هذه هي توصية Docker لتقليل حجم الصور. يمكنك العثور على هذه النصيحة وغيرها في https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

توصية أخرى لتقليل الحجم النهائي للصورة هي استخداي لصخدام ص ن Redmine

Z Redmine: alpine

Alpine هو توزيع Linux مختلف. بدلاً من استخدام apt لتثبيت الحزم، يجب عليك استخدام apk.

نصيحة أخيرة: الحزم التي قمنا بتثبيتها باستخدام لمتعم apt لف تعم apt لف تلا وبة بعد بناء الصورة. يمكنك اتباع أفضل الممارسات باستخدام بناء متعدد الممر المر https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

ممارسة الاحتفاظ بحجم صورة Docker صغير يساعد بشكل خاعا عوسد ل ت، ولكنه يقلل أيضًا من سطح الهجوم على صورتك.

الترقية النهائية لـ Redmine؟ سهلة.

احصل على جميع الأدوات القوية لتخطيط المشروع داا؈ي الا٥ي القوية لتخطيط المشروع داا؈ي الالي رة عليه في برنامج واحد.

اكتشف Easy Redmine

جرب Easy Redmine في تجربة مجانية لمدة 30 يومًا

ميزات كاملة، محمية SSL، نسخ احتياطية يومية، في ماقلجك روقلجك اقجك احتياطية