en
שפה
  • 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

כיצד ליצור תמונת Redmine Docker המותאמת אישית שלך

6/16/2020
דקות 8
Lukáš Beňa
Redmine הוא אחד הכלים הפופולריים ביותר לניהול פרויקטים ולמעקב אחר בעיות. אם ניסיתם אותו או נאלצתם להתקין אותו בסביבת ייצור, סביר להניח שגם אתם יודעים שיש תמונת docker רשמית שמפשטת מאוד את ההתקנה והקנה מידה עבור סביבות ביקוש גבוה.

סמן מחדש לפני ההתאמה האישית

הערות: ניתן למצוא את העגינה המקורית של Redmine באתר https://hub.docker.com/_/redmine. כאן תוכל למצוא גם הוראות טובות כיצד לאכלס מסד נתונים חיצוני ולהעלות תיקיות חיצוניות (כדי להיות מסוגל להתקין תוספים).

אם אתה כמוני ומעדיף לראות ישירות את הקוד לבניית תמונה מותאמת אישית של Redmine Docker, תוכל לפנות אליו github.com/lcofre/redmine ובדוק את ה- Dockerfile.

תמונת Redmine Docker היא נקודת התחלה טובה, אם כי סביר להניח שתרצה להתאים אותה אישית באמצעות תוספים ונושאים שתרצו. כיצד לבצע זאת, נבנה תמונת Docker המבוססת על התמונה הרשמית, נוסיף כמה ערכות נושא ותוספים ונעלה אותה לרישום הדוקר.

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


תוספים ועיצובים

בחרנו כמה תוספים ונושאים כדי להמחיש דרכים מגוונות להוסיף אותם ל- Redmine:

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


כתיבת הדוקרפיל

Dockerfile הוא מתכון כיצד לבנות תמונה של Docker. העובדה הראשונה שנלמד כאן היא שאנחנו צריכים לבסס את הדימוי שלנו על תמונה אחרת, אז נשתמש בתמונה הרשמית עבור Redmine

מאת Redmine

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

מ- 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

התמונה שבנית זה עתה זמינה לסביבה המקומית שלך בלבד. מה אם אתה רוצה להנגיש אותו לאחרים, נניח לכולם? כמובן שתוכלו להעלות את ה- Dockerfile והקבצים הקשורים לרפרטואר git, ומעוניינים יכולים לבנות את התמונה בעצמם. אבל Docker גם מאפשר לך להעלות את התמונה הבנויה לרישום שלהם. לשם כך, צור חשבון ב hub.docker.com וגם צור מאגר לתמונה שלך. ואז התחבר למסוף כזה

כניסה למעגן

תייג את התמונה שלך כך שתוכל להעלות אותה לרפאו שלך

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

ולדחוף את זה ככה

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

תמונת ה- Docker ברישום ה- Docker

עכשיו כל אחד יכול לנסות את הדימוי שלך על ידי ביצוע

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

זהו זה! כך עוברים מהתקנה Redmine רגילה לגירסה מותאמת אישית הנגישה ברישום Docker. אנא שתפו את ההערות או השאלות שלהלן.


זמירה של גודל התמונה של הדוקר

אתה תגלה כי Dockerfile בריפו חיבר שורות רבות לאחת. זוהי המלצה של Docker ליצור תמונות קטנות יותר. אתה יכול למצוא את העצות ואת האחרים ב- https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

המלצה נוספת להפחתת הגודל הסופי של התמונה היא להשתמש בגרסה האלפינית של Redmine

מ Redmine: אלפיני

Alpine היא התפלגות לינוקס שונה. במקום להשתמש בכדי להתקין חבילות עליכם להשתמש ב- apk.

טיפ אחרון: החבילות שהתקנו עם apt ב- Dockerfile כבר אינן נחוצות לאחר בניית התמונה. אתה יכול לעקוב אחר התרגול הטוב ביותר לשימוש בבניית ריבוי שלבים: https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#use-multi-stage-builds

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

השדרוג האולטימטיבי של Redmine? קַל.

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

גלה את Easy Redmine

נסה את Easy Redmine תוך 30 יום ניסיון חינם

תכונות מלאות, מוגנת SSL, גיבויים יומיים, במיקום הגיאוגרפי שלך