คำถามติดแท็ก versioning

การกำหนดเวอร์ชันซอฟต์แวร์คือกระบวนการกำหนดชื่อเวอร์ชันที่ไม่ซ้ำกันหรือหมายเลขเวอร์ชันเฉพาะให้กับสถานะเฉพาะของซอฟต์แวร์คอมพิวเตอร์ ภายในหมวดหมู่หมายเลขเวอร์ชันที่กำหนด (หลักรอง) โดยทั่วไปแล้วหมายเลขเหล่านี้จะถูกกำหนดตามลำดับที่เพิ่มขึ้นและสอดคล้องกับการพัฒนาใหม่ ๆ ในซอฟต์แวร์

9
การสร้างและการกำหนดหมายเลขเวอร์ชันสำหรับโครงการ Java (ant, cvs, hudson)
แนวทางปฏิบัติที่ดีที่สุดในปัจจุบันสำหรับการจัดการหมายเลขรุ่นและหมายเลขเวอร์ชันอย่างเป็นระบบในโครงการ Java คืออะไร โดยเฉพาะ: วิธีจัดการหมายเลขบิลด์อย่างเป็นระบบในสภาพแวดล้อมการพัฒนาแบบกระจาย วิธีรักษาหมายเลขเวอร์ชันในซอร์ส / พร้อมใช้งานสำหรับแอปพลิเคชันรันไทม์ วิธีการรวมเข้ากับที่เก็บซอร์สอย่างถูกต้อง วิธีจัดการหมายเลขเวอร์ชันเทียบกับแท็กที่เก็บโดยอัตโนมัติ วิธีการรวมเข้ากับโครงสร้างพื้นฐานที่สร้างอย่างต่อเนื่อง มีเครื่องมือจำนวนมากที่พร้อมใช้งานและ ant (ระบบสร้างที่เราใช้) มีงานที่จะรักษาหมายเลขบิลด์ไว้ แต่ยังไม่ชัดเจนว่าจะจัดการสิ่งนี้กับนักพัฒนาหลายคนพร้อมกันโดยใช้ CVS, svn หรือที่คล้ายกันได้อย่างไร . [แก้ไข] มีคำตอบบางส่วนหรือเฉพาะเจาะจงที่ดีและเป็นประโยชน์ปรากฏอยู่ด้านล่างดังนั้นฉันจะสรุปคำตอบบางส่วน สำหรับฉันดูเหมือนจะไม่มี "แนวทางปฏิบัติที่ดีที่สุด" ที่ชัดเจนในเรื่องนี้ แต่เป็นการรวบรวมแนวคิดที่ทับซ้อนกัน ด้านล่างนี้ค้นหาบทสรุปของฉันและคำถามที่เป็นผลลัพธ์บางอย่างที่ผู้คนอาจพยายามตอบเพื่อติดตามผล [ใหม่สำหรับ stackoverflow ... โปรดแสดงความคิดเห็นหากฉันทำสิ่งนี้ผิด] หากคุณใช้ SVN การกำหนดเวอร์ชันของการชำระเงินที่เฉพาะเจาะจงจะมาพร้อมกับการโดยสาร การสร้างหมายเลขสามารถใช้ประโยชน์จากสิ่งนี้เพื่อสร้างหมายเลขบิวด์เฉพาะที่ระบุการชำระเงิน / การแก้ไขเฉพาะ [CVS ซึ่งเราใช้ด้วยเหตุผลเดิมไม่ได้ให้ข้อมูลเชิงลึกในระดับนี้มากนัก ... การแทรกแซงด้วยตนเองกับแท็กช่วยให้คุณมีส่วนร่วมได้] หากคุณใช้ maven เป็นระบบบิลด์ของคุณจะมีการสนับสนุนสำหรับการสร้างหมายเลขเวอร์ชันจาก SCM รวมถึงโมดูลรีลีสสำหรับการสร้างรีลีสโดยอัตโนมัติ [เราไม่สามารถใช้ maven ได้ด้วยเหตุผลหลายประการ แต่สิ่งนี้จะช่วยผู้ที่ทำได้ …

17
คุณกำหนดเวอร์ชันสคีมาฐานข้อมูลของคุณได้อย่างไร [ปิด]
ปิด . คำถามนี้เป็นคำถามความคิดเห็นตาม ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่? อัปเดตคำถามเพื่อให้สามารถตอบพร้อมข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการในวันที่ 11 เดือนที่ผ่านมา ปรับปรุงคำถามนี้ คุณเตรียม SQL deltas ของคุณอย่างไร? คุณบันทึก SQL ที่เปลี่ยนสคีมาแต่ละรายการลงในโฟลเดอร์เดลต้าด้วยตนเองหรือคุณมีกระบวนการที่แตกต่างกันโดยอัตโนมัติหรือไม่? ฉันสนใจข้อตกลงสำหรับการกำหนดเวอร์ชันสคีมาฐานข้อมูลพร้อมกับซอร์สโค้ด อาจเป็นเบ็ดก่อนการคอมมิตที่แตกต่างสคีมา? นอกจากนี้สิ่งที่ตัวเลือกสำหรับการ diffing สันดอนอยู่นอกเหนือจากDbDeploy ? แก้ไข: เมื่อเห็นคำตอบฉันต้องการชี้แจงว่าฉันคุ้นเคยกับโครงร่างมาตรฐานสำหรับการเรียกใช้การย้ายฐานข้อมูลโดยใช้เดลต้า คำถามของฉันเกี่ยวกับการสร้างเดลต้าด้วยตัวเองโดยเฉพาะอย่างยิ่งโดยอัตโนมัติ นอกจากนี้การกำหนดเวอร์ชันสำหรับ PHP และ MySQL หากสร้างความแตกต่าง (ไม่มีวิธีแก้ปัญหา Ruby)
128 sql  mysql  schema  versioning 

16
การออกแบบฐานข้อมูลสำหรับการแก้ไข?
เรามีข้อกำหนดในโครงการที่จะจัดเก็บการแก้ไขทั้งหมด (ประวัติการเปลี่ยนแปลง) สำหรับเอนทิตีในฐานข้อมูล ขณะนี้เรามี 2 ข้อเสนอที่ออกแบบไว้สำหรับสิ่งนี้: เช่นสำหรับนิติบุคคล "พนักงาน" การออกแบบ 1: -- Holds Employee Entity "Employees (EmployeeId, FirstName, LastName, DepartmentId, .., ..)" -- Holds the Employee Revisions in Xml. The RevisionXML will contain -- all data of that particular EmployeeId "EmployeeHistories (EmployeeId, DateModified, RevisionXML)" การออกแบบ 2: -- Holds Employee Entity "Employees …


9
จะจัดการการกำหนดเวอร์ชัน REST API ด้วยสปริงได้อย่างไร
ฉันค้นหาวิธีจัดการเวอร์ชัน REST API โดยใช้ Spring 3.2.x แต่ฉันไม่พบสิ่งที่ดูแลรักษาง่าย ฉันจะอธิบายปัญหาที่ฉันมีก่อนจากนั้นวิธีแก้ปัญหา ... แต่ฉันสงสัยว่าฉันกำลังประดิษฐ์วงล้อขึ้นมาใหม่ที่นี่ ฉันต้องการจัดการเวอร์ชันโดยใช้ส่วนหัว Accept และตัวอย่างเช่นหากคำขอมีส่วนหัว Accept application/vnd.company.app-1.1+jsonฉันต้องการให้ MVC ส่งต่อไปยังวิธีการที่จัดการเวอร์ชันนี้ และเนื่องจากไม่ใช่วิธีการทั้งหมดใน API ที่เปลี่ยนแปลงในรุ่นเดียวกันฉันจึงไม่ต้องการไปที่คอนโทรลเลอร์แต่ละตัวของฉันและเปลี่ยนแปลงอะไรสำหรับตัวจัดการที่ไม่มีการเปลี่ยนแปลงระหว่างเวอร์ชัน ฉันไม่ต้องการให้ตรรกะในการคิดว่าจะใช้เวอร์ชันใดในคอนโทรลเลอร์ด้วยตัวเอง (โดยใช้ตัวระบุตำแหน่งบริการ) เนื่องจาก Spring กำลังค้นพบวิธีการเรียกใช้แล้ว ดังนั้นจึงใช้ API ที่มีเวอร์ชัน 1.0 ถึง 1.8 ซึ่งมีการแนะนำตัวจัดการในเวอร์ชัน 1.0 และแก้ไขใน v1.7 ฉันต้องการจัดการสิ่งนี้ด้วยวิธีต่อไปนี้ ลองนึกภาพว่าโค้ดนั้นอยู่ในคอนโทรลเลอร์และมีโค้ดบางตัวที่สามารถแยกเวอร์ชันออกจากส่วนหัวได้ (ต่อไปนี้ไม่ถูกต้องในฤดูใบไม้ผลิ) @RequestMapping(...) @VersionRange(1.0,1.6) @ResponseBody public Object method1() { // so something return object; …

3
ข้ามข้อกำหนด PHP ของนักแต่งเพลง
เราใช้ PHPCI และนักแต่งเพลง เซิร์ฟเวอร์ที่รัน PHPCI อยู่บน PHP 5.3 สำหรับโครงการเราได้เพิ่ม Facebook PHP SDK โดยใช้นักแต่งเพลง ต้องใช้ PHP 5.4 นักแต่งเพลงถูกเรียกโดย PHPCI และดำเนินการ แต่เนื่องจากเซิร์ฟเวอร์ CI เพิ่งมีตัวแต่ง PHP 5.3 ล้มเหลวด้วยข้อความแสดงข้อผิดพลาด: facebook/php-sdk-v4 4.0.9 requires php >=5.4.0 -> no matching package found. สิ่งนี้ทำให้การสร้างของฉันล้มเหลวใน PHPCI แน่นอน มีความเป็นไปได้ไหมที่จะข้ามข้อกำหนดนี้ อาจจะโดยการเพิ่ม option ให้กับ composer.json? หรือพารามิเตอร์ในการเรียก composer.phar?

14
ฉันจะตั้งค่าข้อมูลเวอร์ชันสำหรับ. exe, .dll ที่มีอยู่ได้อย่างไร?
ในขั้นตอนการสร้างของเราฉันจำเป็นต้องตั้งค่าข้อมูลเวอร์ชันสำหรับไบนารีที่คอมไพล์ทั้งหมดของเรา ไบนารีบางตัวมีข้อมูลเวอร์ชันอยู่แล้ว (เพิ่มในเวลาคอมไพล์) และบางส่วนไม่มี ฉันต้องการใช้ข้อมูลต่อไปนี้: ชื่อ บริษัท ประกาศลิขสิทธิ์ ชื่อผลิตภัณฑ์ รายละเอียดสินค้า เวอร์ชันไฟล์ เวอร์ชันผลิตภัณฑ์ แอ็ตทริบิวต์เหล่านี้ทั้งหมดถูกระบุโดยบิลด์สคริปต์และต้องใช้หลังจากคอมไพล์ นี่คือไบนารีมาตรฐาน (ไม่ใช่แอสเซมบลี) ที่คอมไพล์ด้วย C ++ Builder 2007 ฉันจะทำเช่นนี้ได้อย่างไร?

12
ฉันจะเพิ่มเวอร์ชันแอสเซมบลี C # โดยอัตโนมัติผ่านแพลตฟอร์ม CI (ฮัดสัน) ได้อย่างไร
ตัวฉันและกลุ่มของฉันรู้สึกแย่กับการเพิ่มหมายเลขเวอร์ชันการประกอบและเราจัดส่งชุดประกอบที่มีเวอร์ชัน 1.0.0.0 อยู่บ่อยครั้ง เห็นได้ชัดว่าสิ่งนี้ทำให้ปวดหัวมาก เราเริ่มดีขึ้นมากกับแนวทางปฏิบัติของเราผ่านแพลตฟอร์มCIของเราและฉันต้องการตั้งค่าให้เพิ่มค่าภายในassemblyinfo.csไฟล์โดยอัตโนมัติเพื่อให้เวอร์ชันของแอสเซมบลีของเราได้รับการอัปเดตโดยอัตโนมัติเมื่อมีการเปลี่ยนแปลงโค้ดในแอสเซมบลีนั้น ก่อนหน้านี้ฉันได้ตั้งค่า (ก่อนที่เราจะพบฮัดสัน ) วิธีเพิ่มค่าผ่านmsbuildบรรทัดคำสั่งอย่างใดอย่างหนึ่ง(จำไม่ได้) แต่ด้วยฮัดสันที่จะอัปเดตที่เก็บ SVN และทริกเกอร์บิวด์ ANOTHER นั่นจะส่งผลให้เกิดการวนซ้ำแบบไม่สิ้นสุดอย่างช้าๆขณะที่ฮัดสันสำรวจ SVN ทุกชั่วโมง การเพิ่มหมายเลขเวอร์ชันของฮัดสันเป็นความคิดที่ไม่ดีหรือไม่? จะมีทางเลือกอื่นให้ทำอย่างไร? ตามหลักการแล้วเกณฑ์ของฉันสำหรับการแก้ปัญหาคือ: เพิ่มหมายเลขบิวด์assemblyinfo.csก่อนสร้าง เพิ่มเฉพาะหมายเลขบิลด์ในแอสเซมบลีที่มีการเปลี่ยนแปลง สิ่งนี้อาจเป็นไปไม่ได้เนื่องจากฮัดสันจะล้างโฟลเดอร์โครงการทุกครั้งที่สร้าง ยอมรับ assemblyinfo.cs ที่เปลี่ยนแปลงลงในที่เก็บโค้ด (ปัจจุบันคือVisualSVN ) ไม่ทำให้ฮัดสันทริกเกอร์บิวด์ใหม่ในครั้งถัดไปที่สแกนหาการเปลี่ยนแปลง เมื่อพิจารณาถึงสิ่งนี้ในหัวของฉันฉันสามารถหาวิธีแก้ปัญหาส่วนใหญ่ได้อย่างง่ายดายผ่านไฟล์แบตช์ / คำสั่ง แต่ความคิดทั้งหมดของฉันจะทำให้ฮัดสันเรียกใช้งานสร้างใหม่ในครั้งต่อไปที่สแกน ฉันไม่ได้มองหาใครสักคนที่จะทำทุกอย่างเพื่อฉันเพียงแค่ชี้ทางที่ถูกต้องให้ฉันอาจเป็นเทคนิคที่จะทำให้ฮัดสันเพิกเฉยต่อการกระทำบางอย่างของ SVN เป็นต้น ทุกสิ่งที่ฉันพบจนถึงตอนนี้เป็นเพียงบทความที่อธิบายถึงวิธีการเพิ่มหมายเลขเวอร์ชันโดยอัตโนมัติโดยไม่ต้องคำนึงถึงแพลตฟอร์ม CI ที่สามารถหมุนวนเป็นวงวนไม่สิ้นสุด

11
วิธีการเวอร์ชัน REST URI
วิธีใดเป็นวิธีที่ดีที่สุดในการสร้าง URI REST ขณะนี้เรามีเวอร์ชัน # ใน URI เองเช่น http://example.com/users/v4/1234/ สำหรับเวอร์ชัน 4 ของการเป็นตัวแทนนี้ เวอร์ชันอยู่ใน queryString หรือไม่ กล่าวคือ http://example.com/users/1234?version=4 หรือการกำหนดเวอร์ชันทำได้ดีที่สุดด้วยวิธีอื่น?

7
อัปเดตหมายเลขเวอร์ชันโดยอัตโนมัติ
ฉันต้องการให้คุณสมบัติเวอร์ชันของแอปพลิเคชันของฉันเพิ่มขึ้นสำหรับแต่ละรุ่น แต่ฉันไม่แน่ใจเกี่ยวกับวิธีเปิดใช้งานฟังก์ชันนี้ใน Visual Studio (2005/2008) ฉันได้พยายามระบุ AssemblyVersion เป็น 1.0 * แต่มันไม่ได้ตรงตามที่ฉันต้องการ ฉันยังใช้ไฟล์การตั้งค่าและในความพยายามก่อนหน้านี้เมื่อเวอร์ชันแอสเซมบลีเปลี่ยนการตั้งค่าของฉันได้ถูกรีเซ็ตเป็นค่าเริ่มต้นเนื่องจากแอปพลิเคชันค้นหาไฟล์การตั้งค่าในไดเร็กทอรีอื่น ฉันต้องการให้แสดงหมายเลขเวอร์ชันในรูปแบบ 1.1.38 ดังนั้นเมื่อผู้ใช้พบปัญหาฉันสามารถบันทึกเวอร์ชันที่ใช้อยู่และแจ้งให้อัปเกรดได้หากมีเวอร์ชันเก่า คำอธิบายสั้น ๆ เกี่ยวกับวิธีการทำงานของเวอร์ชันจะได้รับการชื่นชม หมายเลขรุ่นและหมายเลขการแก้ไขจะเพิ่มขึ้นเมื่อใด

4
คุณจัดการโค้ดเบสสำหรับ API เวอร์ชันได้อย่างไร
ฉันได้อ่านข้อมูลเกี่ยวกับกลยุทธ์การกำหนดเวอร์ชันสำหรับ ReST APIs และสิ่งที่ดูเหมือนว่าไม่มีที่อยู่คือวิธีที่คุณจัดการ codebase ที่สำคัญ สมมติว่าเรากำลังทำการเปลี่ยนแปลงหลายอย่างกับ API ตัวอย่างเช่นการเปลี่ยนทรัพยากรของลูกค้าเพื่อให้ส่งกลับแยกforenameและsurnameฟิลด์แทนที่จะเป็นnameฟิลด์เดียว (สำหรับตัวอย่างนี้ฉันจะใช้โซลูชันการกำหนดเวอร์ชัน URL เนื่องจากง่ายต่อการทำความเข้าใจแนวคิดที่เกี่ยวข้อง แต่คำถามนี้ใช้ได้กับการต่อรองเนื้อหาหรือส่วนหัว HTTP ที่กำหนดเอง) ขณะนี้เรามีปลายทางที่และอีกปลายทางที่เข้ากันไม่ได้http://api.mycompany.com/v1/customers/{id} http://api.mycompany.com/v2/customers/{id}เรายังคงปล่อยการแก้ไขข้อบกพร่องและการอัปเดตความปลอดภัยให้กับ v1 API แต่การพัฒนาฟีเจอร์ใหม่ทั้งหมดมุ่งเน้นไปที่ v2 เราจะเขียนทดสอบและปรับใช้การเปลี่ยนแปลงในเซิร์ฟเวอร์ API ของเราได้อย่างไร ฉันเห็นวิธีแก้ปัญหาอย่างน้อยสองวิธี: ใช้สาขา / แท็กควบคุมแหล่งที่มาสำหรับ v1 codebase v1 และ v2 ได้รับการพัฒนาและปรับใช้อย่างอิสระโดยมีการผสานการควบคุมการแก้ไขที่ใช้ตามความจำเป็นเพื่อใช้การแก้ไขข้อบกพร่องเดียวกันกับทั้งสองเวอร์ชันซึ่งคล้ายกับวิธีที่คุณจัดการโค้ดเบสสำหรับแอปเนทีฟเมื่อพัฒนาเวอร์ชันใหม่ที่สำคัญในขณะที่ยังคงรองรับเวอร์ชันก่อนหน้า ทำให้ codebase ทราบถึงเวอร์ชันของ API ดังนั้นคุณจึงลงเอยด้วย codebase เดียวที่มีทั้งตัวแทนลูกค้า v1 และตัวแทนลูกค้า v2 ถือว่าการกำหนดเวอร์ชันเป็นส่วนหนึ่งของสถาปัตยกรรมโซลูชันของคุณแทนที่จะเป็นปัญหาในการปรับใช้ - อาจใช้เนมสเปซและการกำหนดเส้นทางร่วมกันเพื่อให้แน่ใจว่าคำขอได้รับการจัดการโดยเวอร์ชันที่ถูกต้อง ข้อได้เปรียบที่ชัดเจนของโมเดลสาขาคือการลบเวอร์ชัน API เก่านั้นเป็นเรื่องเล็กน้อยเพียงแค่หยุดการปรับใช้สาขา …

9
วิธีดำเนินการควบคุมเวอร์ชันเอกสารที่ดีขึ้นบนไฟล์ Excel และไฟล์สคีมา SQL
ฉันรับผิดชอบไฟล์ Excel และไฟล์สคีมา SQL หลายไฟล์ ฉันจะควบคุมเวอร์ชันเอกสารให้ดีขึ้นกับไฟล์เหล่านี้ได้อย่างไร ฉันต้องการทราบส่วนที่แก้ไข (ส่วนที่แตกต่างกัน) ในไฟล์เหล่านี้และเก็บเวอร์ชันทั้งหมดไว้อ้างอิง ขณะนี้ฉันกำลังต่อท้ายการประทับเวลาบนชื่อไฟล์ แต่ฉันพบว่าดูเหมือนจะไม่มีประสิทธิภาพ มีวิธีหรือแนวทางปฏิบัติที่ดีในการควบคุมเวอร์ชันเอกสารให้ดีขึ้นหรือไม่? ทางบรรณาธิการส่งไฟล์ให้ฉันทางอีเมล

7
ฉันจะซิงค์หมายเลขแก้ไข SVN กับเว็บไซต์ ASP.NET ของฉันได้อย่างไร
Stack Overflow มีหมายเลขเวอร์ชันการโค่นล้มที่ด้านล่าง: การแก้ไข svn: 679 ฉันต้องการใช้การกำหนดเวอร์ชันอัตโนมัติดังกล่าวกับ.NET Web Site/ApplicationWindows Forms, WPD projects / solutions ของฉัน ฉันจะใช้สิ่งนี้ได้อย่างไร
93 .net  asp.net  svn  versioning 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.