كيف يمكنك العمل على حزم Oracle في بيئة تعاونية يتم التحكم فيها بالإصدار؟

StackOverflow https://stackoverflow.com/questions/706026

  •  22-08-2019
  •  | 
  •  

سؤال

أنا أعمل في بيئة متعددة المطورين في Oracle مع حزمة كبيرة.لدينا نمط ترويج DEV => TST => PRD.في الوقت الحالي، يتم إجراء كافة تعديلات الحزمة مباشرةً في TOAD ثم يتم تجميعها في حزمة DEV.

نواجه مشكلتين:

  1. يجب تعزيز التغييرات المتزامنة وفقًا لجداول زمنية مختلفة.على سبيل المثال، يقوم المطور "أ" بإجراء تغيير يحتاج إلى ترقيته غدًا بينما يعمل المطور "ب" بشكل متزامن على تغيير لن يتم ترقيته لمدة أسبوعين آخرين.عندما يحين وقت الترويج، نجد أنفسنا نعلق يدويًا على الأشياء التي لم يتم الترويج لها بعد، ثم نلغي التعليق عليها بعد ذلك...يا للعار!!!

  2. إذا قام مطوران بإجراء تغييرات في نفس الوقت المحدد وقام أحدهما بتجميع التغييرات، فإنه يمسح تغييرات المطور الآخر.ليس هناك دمج لطيف.بدلاً من ذلك، يفوز أحدث تجميع.

ما هي الاستراتيجيات التي توصي بها للتغلب على هذا؟نحن نستخدم TFS للتحكم في المصدر ولكننا لم نستخدم هذا بعد مع حزم Oracle الخاصة بنا.

ملاحظة. رأيت هذا النشر، لكنه لا يجيب على سؤالي بشكل كامل.

هل كانت مفيدة؟

المحلول

نحن نستخدم أدوات مطور أوراكل لـ Visual Studio.NET...يتم توصيله مباشرة بـ TFS

نصائح أخرى

المفتاح هو اعتماد ممارسة نشر التعليمات البرمجية من نظام التحكم بالمصدر فقط.لست على دراية بـ TSF، لكن يجب عليه تنفيذ مفاهيم الفروع والعلامات وما إلى ذلك.إن مسألة ما يجب نشره تقع بعد ذلك خارج نطاق علامات الإنشاء والإصدار في نظام التحكم بالمصدر.

نصائح إضافية (لشركة Oracle):

  • يعمل بشكل أفضل إذا قمت بتقسيم مواصفات الحزمة ونصها إلى ملفات مختلفة تستخدم نمط ملف ثابتًا لكل منها (على سبيل المثال.".pks" لمواصفات الحزمة و".pkb" لنص الحزمة).إذا كنت تستخدم عملية إنشاء تلقائية يمكنها معالجة أنماط الملفات، فيمكنك إنشاء جميع المواصفات ثم الهياكل.يؤدي هذا أيضًا إلى تقليل عمليات إبطال الكائنات إذا كنت تقوم فقط بنشر نص الحزمة.

  • خصص وقتًا لتكوين عملية إنشاء تلقائية مدفوعة من إصدار أو حالة بناء لنظام التحكم بالمصدر لديك.إذا كان لديك عدد معتدل من كائنات كود قاعدة البيانات، فسوف يكون من المفيد أن تكون قادرًا على إنشاء الكود في نظام مرجعي ومقارنته بنظام ضمان الجودة أو نظام الإنتاج الخاص بك.

يرى إجابتي عن أدوات للعمل مع الإجراءات المخزنة في Oracle، ضمن فريق (التي قمت بإعادة وضع علامة عليها للتو).

الحد الأدنى :لا تقم بتعديل الإجراءات مباشرة باستخدام TOAD.قم بتخزين المصدر كملفات، والتي ستقوم بتخزينها في التحكم بالمصادر، وتعديلها ثم تنفيذها.

بالإضافة إلى ذلك، أوصي بشدة أن يعمل كل مطور على نسخته الخاصة من قاعدة البيانات (استخدم Oracle Express، وهو مجاني).يمكنك القيام بذلك إذا قمت بتخزين كافة البرامج النصية لإنشاء قاعدة البيانات في التحكم بالمصادر.مزيد من البصيرة يمكن العثور عليها هنا.

لتجنب عمل مطورين على نفس الحزمة في نفس الوقت:

1) استخدم نظام التحكم في الإصدار الخاص بك كمصدر لرمز الحزمة.للعمل على حزمة، يجب على المطور أولاً التحقق من الحزمة من التحكم في الإصدار؛لا يمكن لأي شخص آخر التحقق من الحزمة حتى يقوم هذا المطور بفحصها مرة أخرى.

2) لا تعمل مباشرة على رمز الحزمة في Toad أو أي بيئة تطوير متكاملة أخرى.لديك لا يوجد دليل ما إذا كان الكود الذي تعمل عليه صحيحًا أو تم تعديله بواسطة مطور واحد أو أكثر.اعمل على الكود الموجود في البرنامج النصي الذي قمت بسحبه من التحكم في الإصدار، وقم بتشغيله في قاعدة البيانات لتجميع الحزمة.أفضلي هو استخدام محرر نصوص لطيف (TextPad) وSQL Plus، ولكن يمكنك القيام بذلك في Toad أيضًا.

3) عند الانتهاء، تحقق من البرنامج النصي مرة أخرى في التحكم في الإصدار. لا قم بنسخ ولصق التعليمات البرمجية من قاعدة البيانات في البرنامج النصي الخاص بك (انظر النقطة 2 مرة أخرى).

الجانب السلبي (إذا كان واحدًا) لهذا النهج المتحكم فيه هو أن مطورًا واحدًا فقط يمكنه العمل على الحزمة في كل مرة.لا ينبغي أن تكون هذه مشكلة كبيرة طالما:

  • يمكنك الاحتفاظ بالحزم في حجم معقول (من حيث ما تفعله، وليس عدد أسطر التعليمات البرمجية أو عدد الإجراءات فيها).ليس لديك حزمة واحدة كبيرة تحتوي على كل التعليمات البرمجية.
  • يتم تشجيع المطورين على التحقق من التعليمات البرمجية فقط عندما يكونون جاهزين للعمل عليها، وفحصها مرة أخرى بمجرد الانتهاء من إجراء التغييرات واختبارها.

نحن نفعل ذلك باستخدام قاعدة بيانات Dev لكل تدفق، وتسميات للتدفقات المختلفة.

يمنحنا ترخيص Oracle الخاص بنا عدداً غير محدود من مثيلات التطوير/الاختبار، ولكننا موردي البرامج المستقلين، وقد يكون لديك خيار ترخيص مختلف

يمكنك استخدام أدوات مطور Oracle لـ VS أو يمكنك استخدام مطور SQL.يتكامل مطور SQL مع Subversion وCVS ويمكنك تنزيله مجانًا.انظر هنا: http://www.Oracle.com/technology/products/database/sql_developer/files/what_is_sqldev.html

نحن نستخدم Toad for Oracle مع موفر TFS MSSCCI مقابل TFS 2008.نحن نستخدم أداة مخصصة الذي يسحب عمليات التحقق من قاعدة البيانات من التحكم بالمصادر ويحزمها للإصدار.

على حد علمي، لا تحتوي أدوات Oracle Developer Tools لـ Visual Studio.Net على أي تكامل حقيقي للتحكم في المصدر مع TFS أو غير ذلك.

قد تفكر ملحقات العلجوم لبرنامج Visual Studio على الرغم من أنها ليست رخيصة، ربما 4 آلاف دولار على ما أعتقد.

خيار آخر هو حزمة إدارة التغيير أوراكل ولكن أعتقد أنه يتطلب إصدار Enterprise من Oracle وهو أغلى بكثير.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top