ฉันขอแนะนำให้คุณดูการใช้ Maven เมื่อเทียบกับ Ant หาก IDE ของคุณสามารถสร้างโครงการของคุณได้ในคลิกเดียวก็เป็นไปได้ว่า Maven สามารถสร้างโครงการของคุณได้โดยไม่มีการกำหนดค่าแบบกำหนดเอง
และเพื่อตอบคำถามการทำให้กระบวนการปรับใช้ง่ายขึ้นเป็นหนึ่งในตัวอย่างที่เป็นรูปธรรม หากคุณกำลังสร้างการแจกจ่ายภายในเครื่องซึ่งหมายความว่าคุณต้องปรับใช้ด้วยตนเองที่สามารถแจกจ่ายได้ในระบบการผลิตของคุณและบอกเป็นนัยว่าคุณอาจต้องทำการกำหนดค่าด้วยตนเองบนระบบการผลิตเพื่อให้พร้อมใช้งาน (ติดตั้ง Tomcat อาจหรือคัดลอกการอ้างอิงและทรัพยากรที่แอปพลิเคชันของคุณต้องการ) ขั้นตอนนี้อาจใช้เวลานานและอาจทำให้การปรับใช้การอัปเดตกลายเป็นกระบวนการที่ต้องทำด้วยตนเองและน่าเบื่อ นอกจากนี้ยังช่วยให้โอกาสสำหรับความแตกต่างของการกำหนดค่าเล็กน้อยระหว่างแพลตฟอร์มการผลิตและสภาพแวดล้อมการพัฒนาของคุณทำให้เกิดความคลุมเครือยากที่จะติดตามข้อผิดพลาด
ดังนั้นสิ่งที่ฉันทำเพื่อกำจัด drudgery คู่มือนี้คือฉันกำหนดค่าโครงการของฉันเพื่อสร้างด้วย Maven และฉันกำหนดค่าpom.xml
ไฟล์ของฉันด้วยข้อมูลทั้งหมดที่จำเป็นในการ (ในกรณีของ Java web-app) ค้นหาและดาวน์โหลด รุ่นที่ถูกต้องของ Tomcat ติดตั้งภายในเครื่องตั้งค่าไฟล์กำหนดค่า Tomcat ที่ถูกต้องปรับใช้การพึ่งพาโปรเจ็กต์ใด ๆ และไฟล์ WAR โครงการของตัวเองจากนั้นเริ่ม Tomcat จากนั้นฉันจะสร้างเชลล์สคริปต์อย่างง่าย (และ.bat
เวอร์ชันสำหรับ Windows) ที่ใช้ Maven เพื่อสร้างและเริ่มเซิร์ฟเวอร์:
mvn clean install cargo:start -Dcargo.maven.wait=true
ดังนั้นแทนที่จะทำแพ็กเกจที่สามารถปรับใช้กับสภาพแวดล้อมการพัฒนาของฉันจากนั้นผลักดันมันขึ้นสู่การผลิตด้วยตนเองทั้งหมดที่ฉันต้องทำคือซิงค์จากระบบควบคุมเวอร์ชันไปยังเซิร์ฟเวอร์ที่ใช้งานจริงจากนั้นระบบการผลิตจะสร้างติดตั้ง สามารถปรับใช้ได้ (และดำเนินการในลักษณะที่เหมือนกับการทำบนระบบการพัฒนาใด ๆ ลดความเป็นไปได้ของข้อผิดพลาดเฉพาะแพลตฟอร์มหรือการกำหนดค่าผิดพลาด) และไม่ว่าจะอยู่ในสภาพแวดล้อมการพัฒนาหรือการผลิตสิ่งที่ฉันต้องทำเพื่อสร้างและเริ่มต้นเซิร์ฟเวอร์คือ:
./startServer.sh #or startServer.bat for Windows
และเพื่อปรับใช้การปรับปรุงสภาพแวดล้อมการผลิตกระบวนการเป็นเพียง:
- หยุดการทำงานของอินสแตนซ์เซิร์ฟเวอร์หากมี
svn update -r<target_release_revision>
วิ่ง
./startServer.sh
วิ่ง
มันง่ายจำง่ายและไม่สามารถทำได้ถ้าฉันต้องพึ่งพาการใช้ IDE ของฉันเพื่อสร้างการปรับใช้สำหรับฉัน นอกจากนี้ยังทำให้การย้อนกลับไปใช้การปรับใช้ที่ดีครั้งล่าสุดเป็นที่รู้จักอย่างรวดเร็วหากจำเป็นต้องย้อนกลับ
ฉันไม่สามารถนับจำนวนเวลาที่วิธีการนี้ช่วยฉันได้ด้วยการพยายามจัดการการปรับใช้และกระบวนการกำหนดค่าด้วยตนเอง
และแน่นอนคำตอบสำหรับคำถามของคุณคือการจัดการการพึ่งพาอัตโนมัติ แต่ฉันเชื่อว่าคำตอบอื่น ๆ ได้รับการคุ้มครองแล้ว