ae
Γλώσσα
  • 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 λεπτά
لوكاس بينا
Redmine هو أحد أشهر الأدوات لإدارة المشاريع وتتبع المشكلات. إذا قمت بتجربته أو كان عليك تثبيته في بيئة إنتاجية، فمن المحتمل أنك تعلم أيضًا أن هناك صورة Docker رسمية تسهل بشكل كبير التثبيت والتوسي للبيئال ذات الطلب.

Redmine πριν التخصيص

Ειδοποίηση: يمكن العثور على Docker الأصلي لـ Redmine على https://hub.docker.com/_/redmine. هنا يمكنك أيضًا العثور على تعليمات جيدة حول كيفية ملي قاعدة بيانات εξωτερικών και τρισδιάστατων συνθηκών εξωτερι- κών (λτ.

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

صورة Redmine Docker هي نقطة انطلاق جيدة, على الرغم من أنك ربما ترغب في تخصيصها باستخدام المكونات الإضافية والسمات التي تفضلها. في هذا الدليل, سنقوم ببناء صورة Docker Stanadًa إلى الصورة الرسمية, και اضافة ορισμένων ειδών και άλμπουμ, وتحميلها إلى سجل Docker.

λأسباب بساطة, لن نستخدم قاعدة بيانات εξωτερικών οχημάτων και εσωτερικά μέσα στο Redmine. ومع ذلك ، فمن المستحسن إعداد حاوية تخزين مخصصة لبيئة الإنتاج.


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

Επιλογή ορισμένων στοιχείων του Redmine:

Τελειοποιήστε το σύστημά σας. يرجى التعليق أدناه إذا كنت بحاجة إلى تثبيت مكون إضافي يحتاج إلى ترحيلات, حيث لدينا أفكار جيدة لك.


كتابة ملف Dockerfile

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

από Redmine

هذا السطر الأول في Melf Dockerfile ή صورتنا على أحدث صورة متاحة, 4.1.0 σε μια στιγμή κατά την εγγραφή. نظرًا لأن هذا سيحصل على أي إصدار هو الأحدث, قد تفضل χρήση إصدار محدد لتجنب إصدارات جديد غير متوقعة قد تعطل بناء هذه الصورة

από Redmine:4.1.0


χρήση Git للحصول على المكونات

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

Υπόθεση Redmine - χωρίς Git

RUN apt install -y git

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

سمة Gitmike: يوصون بنسخ مستودعهم مباشرة

Εκτελέστε τον κλώνο git https://github.com/makotokw/redmine-theme-gitmike.git δημόσια / θέματα / gitmike

سيقوم السطر بحفظ المشروع المستنسخ في المجلد المناسب δημόσια/θέματα

Απόκρυψη της πλαϊνής γραμμής: يمكن تطبيق نفس الإجراء على المكونات الإضافية. هذا المكون لا يتطلب سوى وضع المجلد المستنسخ في مجلد المكونات الإضافية

Εκτελέστε τον κλώνο git https://gitlab.com/bdemirkir/sidebar_hide.git plugins / sidebar_hide

Επικόλληση εικόνας πρόχειρου: يبدو أن هذا هو الإجراء النموذجي أيضًا، قم بنسخ المستودع وستكون على ما يرام

Εκτελέστε τον κλώνο git https://github.com/RubyClickAP/clipboard_image_paste.git plugins / clipboard_image_paste

αλλα αν قرأت المزيد سترى أنه "يُوصى بتثبيت حزمة RMagick gem، وإلا فلن يتم عرض الصور المرفقة في ملفات PDF المصدرة". فكيف يمكننا القيام بذلك؟ يجب أن يكون الأمر سهلاً όπως

RUN gem εγκατάσταση rmagick

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

RUN apt install -y build-sential imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       && gem εγκατάσταση rmagick

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

المؤلف الأصلي لهذا المكون الإضافي لا يوفر إصدارًا لـ Redmine 4, olken elbhth An Όνομα Μνήμης στο GitHub أدى بي إلى مشروع يفعل ذلك: RubyClickAP / clipboard_image_paste.


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

Χαρακτηριστικό A1 Για παράδειγμα, επιλέξτε τη διεύθυνση URL που θέλετε να χρησιμοποιήσετε. إحدى الخيارات في مثل هذه الحالات هو توفير المصدر لعملية البناء. .

COPY 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 --name test-redmine redmine

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

docker exec -it test -redmine bash

هنا يمكنك تثبيت حزم النظام الأساسية، وحزم الجواهر، أو تشغيل الترحيلات. Μόνο παρατήρηση δεν έχει απορριφθεί από το Dockerfile!


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

الصورة التي قمت ببنائها متاحة فقط في بيتك المحلية. ماذا لو كنت ترغب في جعلها متاحة للآخرين، فلنقل الجميع؟ بالطبع، يمكنك تحميل Melf Dockerfile και Αποθήκευση Εγχειριδίου και Συνιστώμενη git. ولكن Docker يسمح لك أيضًا بتحميل الصورة المبنية إلى سجلهم. لذلك، قم بإنشاء حساب في hub.docker.com وأنشئ أيضًا مستودعًا لصورتك. ثم قم بتسجيل الدخول في الطرفية بهذا الشكل

σύνδεση στο docker

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

docker tag my-redmine: τελευταία lcofre / redmine: τελευταία

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

docker push lcofre / redmine: τελευταία

صورة Docker في سجل Docker

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

docker run -it -p 3000: 3000 --όνομα my-redmine lcofre / redmine

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


Αξιολόγηση όγκου Docker

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

توصية أخرى لتقليل الحجم النهائي للصورة هي χρήση الإصدار الخفيف من Redmine

ΑΠΟ Redmine: αλπικό

Alpine هو توزيع Linux Διάφορα. .

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

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

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

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

اكتشف Easy Redmine

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

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