Nasıl Özel Redmine Docker Görüntüsü Oluşturulur

6/16/2020
דקות 8
Lukáš Beňa.
Redmine, proje yönetimi ve sorun takibi için en popüler araçlardan biridir. Eğer denediyseniz veya üretim ortamında kurmanız gerektiyse, muhtemelen yüksek talep ortamlarında kurulumu ve ölçeklendirmeyi büyük ölçüde kolaylaştıran resmi bir docker görüntüorsunuz da biliyyuzu oldu.

Özelleştirmeden önceki Redmine

לֹא: Redmine'in yerel docker sürümü https://hub.docker.com/_/redmine adresinde bulunabilir. Burada, harici bir veritabanını nasıl dolduracağınızı ve harici klasörleri nasıl bağlayacağınızı (eklentileri yükleyebilmek için) iyi talimatlar bulabilirsiniz.

Eğer benim gibiyseniz ve özel bir Redmine Docker görüntüsü oluşturmak için kodu doğrudan görmeyi tercih ederseniz, github.com/lcofre/redmine adresine gidip Dockerfile'ı kontrol edebilirsiniz.

Redmine Docker görüntüsü iyi bir başlangıç ​​noktasıdır, ancak muhtemelen istediğiniz eklentiler ve temalarla özelleştirmek istersiniz. Bu nasıl yapılır adlı rehberde, resmi olanına dayanan bir Docker görüntüsü oluşturacak, bazı temalar ve eklentiler ekleyecek ve bunu docker kayıt defterine yükleyeceğiz.

Basitlik açısından, harici bir veritabanı yerine Redmine konteynerinin içinde bir dahili veritabanı kullanmayacağız. Bununla birlikte, üretim ortamı için ayrı bir depolama konteyneri kurmanız önerilir.


אקלענטילר וטמלאר

Redmine'e eklemek için çeşitli yolları göstermek için birkaç eklenti ve tema seçtik:

Veritabanı göçü gerektiren eklentileri hariç tutuyoruz, çünkü önceden var olan bir veritabanına ihtiyacınız var. Göç gerektiren bir eklenti yüklemek isterseniz lütfen aşağıya yorum yapın, size iyi fikirlerimiz var.


Dockerfile'ı Yazma

Bir Dockerfile, bir Docker görüntüsünü nasıl oluşturacağımız hakkında bir reçetedir. Burada öğreneceğimiz ilk gerçek, görüntümüzü başka bir görüntüye dayandırmamız gerektiğidir, bu yüzden Redmine için resmi olanı kullanacağız

מאת Redmine

Dockerfile'ın bu ilk satırı, görüntümüzü yazma anında en son ve en iyi sürüme dayandıracaktır. Bu, en son sürümü alacağından beklenmedik yeni sürümleri önlemek için belirli bir sürüm kullanmanız tercih edilebilir

מ- Redmine: 4.1.0


באמצעות Git כדי להשיג את הרכיבים

ברוב המקרים, לנושאים ולתוספים יש מאגרי git שבהם אנו יכולים להוריד את הקוד האחרון. זה המקרה לשלושת המרכיבים הבאים.

תמונת הבסיס Redmine מגיעה ללא GIT, אך אנו יכולים להוסיף אותה לתמונה בדרך זו

הפעל התקנת 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, אחרת תמונות מצורפות לא יופיעו בקבצי PDF מיוצאים". אז איך עושים זאת? זה אמור להיות קל כמו

הפעל פנינה להתקין

אבל אתה בטח יודע שצריך לבנות את פנינה לפני שתוכל להתקין אותה, לכן עליך להתקין חבילות מסוימות לפני התקנת פנינה. הקו שאתה באמת צריך הוא

RUN apt להתקין -ה build-חיוני imagemagick libmagickcore-dev libmagickwand-dev ruby-dev \

       & & פנינה להתקין rmagick

הכל בפקודה אחת, מופרדים בשתי שורות לקריאות.

המחבר המקורי של התוסף הזה אינו מספק גרסה עבור Redmine 4, אך חיפוש אחר שם התוסף ב- GitHub הנחית אותי בפרויקט שעושה: הדבק RubyClickAP / clipboard_image_paste.


הוספת תוסף או נושא ממקור שהורד

השמיים נושא A1 היא דוגמה טובה להמחשת המקרים שבהם יש את המקור, אך לא כתובת אתר להורדה במהלך תהליך הבנייה. אפשרות אחת במקרים כאלה היא לספק את המקור לתהליך הבנייה. ככה התוכן מתווסף לתמונה מבלי להוריד אותו

COPY a1 ציבורי / נושאים / a1

זה מחייב את תיקיית a1 להיות באותו מקום בו נמצא Dockerfile.

עכשיו אתה מוכן לבנות את התמונה שלך, אז פתח מסוף איפה Dockerfile שלך ​​ולבצע

docker build - my-redmine.

לאחר בנייתו תוכלו להריץ את התמונה שלכם

docker run -it -p 3000: 3000 - שם my-redmine my-redmine

קדימה, פתח את http: // localhost: 3000 כדי לראות את Redmine המותאם אישית שלך!

סמן מחדש לאחר ההתאמה האישית


כמה טיפים להוסיף תוספים נוספים

על מנת לנסות תוספים חדשים, עדיף תמיד להשתמש במיכל Redmine טרי. כך הבנתי ש- rmagick דורש התקנת חבילות מסוימות. ראשית, הפעל מופע שניתן למחוק עם Redmine עם

הפעלת docker - rm -d -p 3000: 3000 - name test-redmine redmine

ואז הזן את המופע עם

מבצעים של דוקר - מבחן redmine bash

שם אתה יכול להתקין חבילות מערכת הפעלה, אבני חן או להעביר הגירה. רק זכור את הצעדים כדי שתוכל להוסיף אותם ל- Dockerfile שלך!


Docker Hub'a özel resminizi yükleme

Yeni oluşturduğunuz resim yalnızca yerel ortamınızda kullanılabilir. Başkalarına da kullanılabilir hale getirmek isterseniz, diyelim ki herkese, Dockerfile ve ilgili dosyaları bir git deposuna yükleyebilir ve ilgilenenler resmi kendileri oluşturabilir. Ancak Docker, oluşturduğunuz resmi kayıt defterine yüklemenize de izin verir. Bunun için hub.docker.com'da bir hesap oluşturun ve resminiz için bir depo da oluşturun. Ardından terminalde şu şekilde oturum açın

כניסה למעגן

Resminizi depoya yükleyebilmesi için labelleyin

תג הדוקר my-redmine: האחרונה של lcofre / redmine: האחרונה

ve şu şekilde itin

לדחוף דוקר lcofre / redmine: אחרון

Docker kayıt defterindeki Docker resmi

Artık herkes resminizi deneyebilir

מפעיל docker -it -p 3000: 3000 - שם my-redmine lcofre / redmine

İşte bu kadar! Bu, standart bir Redmine kurulumundan Docker kayıt defterinde erişilebilir bir kişiselleştirilmiş sürüme nasıl geçeceğinizdir. Lütfen yorumlarınızı veya sorularınızı aşağıya paylaşın.


Docker resim boyutunu kırpma

Depodaki Dockerfile birçok satırı birleştirdi. Bu, daha küçük resimler yapmak için bir Docker önerisidir. Bu öneriyi ve diğerlerini https://docs.docker.com/develop/develop-images/dockerfile_best-practices/ אתה יכול למצוא את הכתובת.

Resmin son boyutunu azaltmak için başka bir öneri, Redmine'in alpine sürümünü kullanmaktır

מ Redmine: אלפיני

Alpine farklı bir Linux dağıtımıdır. Paketleri yüklemek için apt yerine apk kullanmanız gerekmektedir.

Son bir ipucu: Dockerfile'da apt ile yüklediğimiz paketlere artık ihtiyaç yoktur. Çoklu aşamalı yapıları kullanma en iyi uygulamasını takip edebilirsiniz: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

Küçük boyutlu bir Docker resmi tutma uygulaması, özellikle örnek sayısını ölçeklendirirken yardımcı olur, ayrıca resminizdeki saldırı yüzeyini azaltır.

Redmine yükseltmesi için en iyi seçenek mi? קולאי.

Tüm güçlü araçları tek bir yazılımda mükemmel proje planlama, yönetim ve control için edinin.

קולאי רדמינאי קספדין

Easy Redmine'ı 30 gün ücretsiz deneyin

Tam özellikli, SSL korumalı, günlük yedeklemeler, bulunduğunuz konumda