th
ภาษา
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
การแปลโดย AI
  • cs
  • hu
  • it
  • pl
  • nl
  • tr
  • ae
  • se
  • ua
  • id
  • vn
  • cn
  • th
  • ro
  • bg
  • dk
  • fi
  • no
  • gr
  • il
  • ee
  • eu

วิธีการสร้างภาพ Docker Redmine ที่กำหนดเองของคุณ

12/31/2023
4 minutes
ลูคาช เบนยา
Redmine เป็นหนึ่งในเครื่องมือที่ได้รับความนิยมมากที่สุดสำหรับการจัดการโครงการและการติดตามปัญหา หากคุณได้ลองใช้หรือต้องติดตั้งในสภาพแวดล้อมการผลิต คุณอาจรู้จักกับภาพรวมของ Docker ที่เป็นภาพที่เป็นทางการที่ช่วยให้การติดตั้งและการขยายมีความง่ายสำหรับสภาพแวดล้อมที่ต้องการใช้งานสูง

Redmine ก่อนการปรับแต่ง

หมายเหตุ: Redmine native docker สามารถค้นหาได้ที่ https://hub.docker.com/_/redmine ที่นี่คุณอาจพบคำแนะนำที่ดีเกี่ยวกับวิธีการเติมข้อมูลในฐานข้อมูลภายนอกและติดตั้งโฟลเดอร์ภายนอก (เพื่อติดตั้งปลั๊กอิน)

หากคุณเหมือนฉันและต้องการดูโค้ดสำหรับการสร้างภาพ Docker Redmine ที่กำหนดเองโดยตรงคุณสามารถไปที่ github.com/lcofre/redmine และตรวจสอบ Dockerfile

ภาพ Docker Redmine เป็นจุดเริ่มต้นที่ดี แต่คุณอาจต้องการปรับแต่งด้วยปลั๊กอินและธีมตามความชอบของคุณ ในคู่มือนี้เราจะสร้างภาพ Docker โดยใช้ภาพอย่างเป็นทางการเป็นฐาน และเพิ่มบางธีมและปลั๊กอิน และอัปโหลดไปยังทะเบียนด็อกเกอร์

เพื่อความง่าย เราจะไม่ใช้ฐานข้อมูลภายนอก แต่ใช้ฐานข้อมูลภายในคอนเทนเนอร์ Redmine เอง แต่สำหรับสภาพแวดล้อมการใช้งานจริง แนะนำให้ติดตั้งคอนเทนเนอร์เก็บข้อมูลที่ได้รับการจัดสรรเฉพาะ


ปลั๊กอินและธีม

เราเลือกใช้ปลั๊กอินและธีมบางรายการเพื่อแสดงวิธีการเพิ่มพวกเข้ากับ Redmine:

  • ซ่อนแถบด้านข้าง ปลั๊กอินเพื่อให้มีพื้นที่หน้าจอมากขึ้น โดยเฉพาะเมื่อเขียนปัญหา
  • วางจากคลิปบอร์ด เพื่อแนบภาพหน้าจอโดยวางจากคลิปบอร์ดแทนการเลือกไฟล์
  • A1 และ Gitmike สองธีมเพื่อเปลี่ยนลักษณะของ UI

เราไม่รวมปลั๊กอินที่ต้องการการย้ายฐานข้อมูล เนื่องจากคุณต้องมีฐานข้อมูลที่มีอยู่ก่อน กรุณาแสดงความคิดเห็นด้านล่างหากคุณต้องการติดตั้งปลั๊กอินที่ต้องการการย้ายฐานข้อมูล เพราะเรามีความคิดที่ดีสำหรับคุณ


เขียน Dockerfile

Dockerfile เป็นสูตรสำหรับสร้างภาพ Docker ขั้นแรกที่เราจะเรียนรู้คือเราต้องใช้ภาพอื่นเป็นฐานสำหรับภาพของเรา เราจะใช้ภาพอย่างเป็นทา

การใช้ Git เพื่อรับคอมโพเนนต์

ในกรณีส่วนใหญ่ ธีมและปลั๊กอินมีเก็บรักษาโค้ดในรีพอสิทอรี่ของ Git ที่เราสามารถดาวน์โหลดโค้ดเวอร์ชันล่าสุดได้ นี่เป็นกรณีสำหรับสามคอมโพเนนต์ต่อไปนี้

ภาพรวมของ Redmine ฐานไม่มี Git แต่เราสามารถเพิ่มมันเข้าไปในภาพรวมได้ด้วยวิธีนี้

RUN apt install -y git

คำสั่งนี้จะถูกดำเนินการเมื่อสร้างภาพรวมและจะช่วยให้คุณใช้ Git ในคำสั่งต่อไป

ธีม Gitmike: พวกเขาแนะนำให้คุณคลอนเรปอย่างตรงไปตรงมา

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

บรรทัดนี้จะบันทึกโครงการที่คลอนลงในโฟลเดอร์ที่เหมาะสม public/themes

ซ่อนแถบด้านข้าง: กระบวนการเดียวกันสามารถใช้กับปลั๊กอินได้ สิ่งนี้ไม่ต้องการอะไรนอกจากการวางโฟลเดอร์ที่คลอนลงในโฟลเดอร์ปลั๊กอิน

RUN git clone https://gitlab.com/bdemirkir/sidebar_hide.git plugins/sidebar_hide

Clipboard Image paste: นี่ดูเหมือนกระบวนการปกติเช่นกัน คลอนเรปและคุณพร้อมที่จะเริ่มต้น

RUN git clone https://github.com/RubyClickAP/clipboard_image_paste.git plugins/clipboard_image_paste

แต่หากคุณ อ่านเพิ่มเติม คุณจะเห็นว่า "แนะนำให้ติดตั้ง RMagick gem มิฉะนั้นรูปภาพที่แนบจะไม่แสดงในไฟล์ PDF ที่ส่งออก" ดังนั้นวิธีการทำคืออะไร? มันควรง่ายเพียง

RUN gem install rmagick

แต่คุณอาจรู้ว่าต้องสร้าง gem ก่อนที่จะสามารถติดตั้งได้ ดังนั้นคุณต้องติดตั้งแพคเกจบางอย่างก่อนที่จะติดตั้ง gem บรรทัดที่คุณจริงๆ ต้องการคือ

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

       && gem install rmagick

คำสั่งทั้งหมดในคำสั่งเดียว แยกเป็นสองบรรทัดเพื่ออ่านง่าย

ผู้เขียนต้นฉบับของปลั๊กอินนี้ไม่มีเวอร์ชันสำหรับ Redmine 4 แต่การค้นหาชื่อปลั๊กอินใน GitHub นำฉันมาสู่โครงการที่มี: RubyClickAP/clipboard_image_paste


เพิ่มปลั๊กอินหรือธีมจากแหล่งที่ดาวน์โหลด

ธีม A1 เป็นตัวอย่างที่ดีในการอธิบายกรณีที่คุณมีแหล่งที่มา แต่ไม่มี URL ในขณะที่กระบวนการสร้างภาพรวม หนึ่งในตัวเลือกในกรณีเช่นนี้คือการให้แหล่งที่มาให้กับกระบวนการสร้าง โดยที่เนื้อหาจะถูกเพิ่มลงในภาพรวมโดยไม่ต้องดาวน์โหลด

COPY a1 public/themes/a1

สิ่งนี้ต้องการให้โฟลเดอร์ a1 อยู่ในตำแหน่งเดียวกับ Dockerfile

ตอนนี้คุณพร้อมที่จะสร้างภาพรวมของคุณ ดังนั้นเปิดเทอร์มินัลที่ Dockerfile อยู่และดำเนินการ

docker build -t my-redmine .

หลังจากสร้างแล้วคุณจะสามารถเรียกใช้ภาพรวมของคุณด้วย

docker run -it -p 3000:3000 --name 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

อัปโหลดรูปภาพที่กำหนดเองของคุณไปยัง Docker Hub

รูปภาพที่คุณสร้างเสร็จเป็นไปได้ที่สามารถใช้ได้ในสภาพแวดล้อมท้องถิ่นเท่านั้น ถ้าคุณต้องการที่จะทำให้มันสามารถใช้ได้กับผู้อื่น สำหรับตัวอย่างเช่นทุกคน แน่นอนว่าคุณสามารถอัปโหลด Dockerfile และไฟล์ที่เกี่ยวข้องไปยัง git repo และผู้ที่สนใจสามารถสร้างรูปภาพเองได้ แต่ Docker ยังช่วยให้คุณอัปโหลดรูปภาพที่สร้างไว้ไปยังทะเบียนของพวกเขาได้อีกด้วย สำหรับนั้น ให้สร้างบัญชีใน hub.docker.com และสร้างเรื่องราวสำหรับรูปภาพของคุณ จากนั้นเข้าสู่ระบบในเทอร์มินอลดังนี้

docker login

แท็กรูปภาพของคุณเพื่อให้สามารถอัปโหลดไปยัง repo ของคุณ

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

และอัปโหลดไปยัง repo ดังนี้

docker push lcofre/redmine:latest

รูปภาพ Docker ในทะเบียนของ Docker

ตอนนี้ใครก็สามารถลองใช้รูปภาพของคุณได้โดยการทำดังนี้

docker run -it -p 3000:3000 --name my-redmine lcofre/redmine

เพียงเท่านี้! นี่คือวิธีที่คุณสามารถไปจากการติดตั้ง Redmine มาเป็นเวอร์ชันที่กำหนดเองที่สามารถเข้าถึงได้ในทะเบียน Docker โปรดแบ่งปันความคิดเห็นหรือคำถามของคุณด้านล่าง


ลดขนาดรูปภาพ Docker

คุณจะพบว่า Dockerfile ใน repo รวมบรรทัดหลายๆ บรรทัดเข้าด้วยกัน นี่เป็นคำแนะนำจาก Docker เพื่อทำให้รูปภาพเล็กลง คุณสามารถค้นหาคำแนะนำเหล่านี้และอื่นๆ ได้ที่ https://docs.docker.com/develop/develop-images/dockerfile_best-practices/

คำแนะนำอีกอย่างในการลดขนาดรูปภาพสุดท้ายคือการใช้เวอร์ชัน alpine ของ Redmine

FROM Redmine:alpine

Alpine เป็นการกระจายลินุกซ์ที่แตกต่าง แทนที่จะใช้ apt เพื่อติดตั้งแพ็คเกจที่คุณต้องใช้ apk แทน

เคล็ดลับสุดท้าย: แพ็คเกจที่เราติดตั้งด้วย apt ใน Dockerfile ไม่จำเป็นต้องใช้แล้วหลังจากสร้างรูปภาพแล้ว คุ

อัพเกรด Redmine ที่สุด? ง่าย.

ได้รับเครื่องมือที่มีกำลังในการวางแผนโครงการที่เหมาะสม การจัดการ และควบคุมในซอฟต์แวร์เดียว

ค้นหา Easy Redmine

ทดลองใช้ Easy Redmine ฟรี 30 วัน

คุณสมบัติครบถ้วน, ป้องกันด้วย SSL, สำรองข้อมูลประจำวัน, ในตำแหน่งที่ตั้งของคุณ