اذا لم تجد ما تبحث عنه يمكنك استخدام كلمات أكثر دقة.
التسليم المستمر (سي دي أو سي دي إي) هو أحد نهج هندسة البرمجيات، تنتج الفرق باستخدامه البرمجيات خلال دورات قصيرة، ما يضمن إصدار البرمجيات بشكل موثوق في أي وقت، والقيام بذلك يدويًا. يهدف إلى إنشاء البرمجيات واختبارها وإصدارها بسرعة وتواتر أكبر. ويساعد هذا النهج على تقليل التكلفة والوقت ومخاطر إجراء التغييرات من خلال السماح بإجراء تحديثات تزايدية للتطبيقات في الإنتاج. وتعد عملية النشر المباشرة والقابلة للتكرار عملية مهمة للتسليم المستمر.
يتناقض التسليم المستمر مع النشر المستمر، وهو نهج مماثل تُنتج فيه البرمجيات أيضًا في دورات قصيرة ولكن من خلال عمليات النشر الآلية بدلاً من اليدوية.
يتشابه التسليم المستمر وديف أوبس في معانيها وكثيرًا ما يخلط بينهما، ولكنهما مفهومان مختلفان. فنطاق ديف أوبس أوسع، ويتركز حول التغير الثقافي، وخاصةً تعاون مختلف الفرق المشاركة في تسليم البرمجيات (المطورين، العمليات، ضمان الجودة، الإدارة، إلخ)، بالإضافة إلى أتمتة عمليات تسليم البرمجيات. ومن ناحية أخرى، فإن التسليم المستمر هو نهج لأتمتة جانب التسليم، يركز على الجمع بين العمليات المختلفة وتنفيذها بسرعة وتواتر أكبر. وبالتالي، يمكن أن تكون ديف أوبس منتجاً للتسليم المستمر، ويتدفق التسليم المستمر مباشرةً إلى ديف أوبس.
التسليم المستمر هو القدرة على تسليم البرمجيات التي يمكن نشرها في أي وقت من خلال الإصدارات اليدوية؛ ويتناقض هذا مع النشر المستمر الذي يستخدم النشر الآلي. ووفقا لمارتن فاولر، فإن النشر المستمر يتطلب التسليم المستمر. يميز الأدب الأكاديمي بين النهجين وفقًا لطريقة النشر؛ يدوية أم آلية.
يعامل التسليم المستمر المفهوم الشائع لأنابيب تجزئة التوزيع مثل بوكا يوكي الخالي من الهدر على أنه مجموعة من عمليات التحقق التي يجب أن تخضع لها البرمجية في طريقها إلى الإصدار. يترجم الكود البرمجي إذا لزم الأمر ثم يجمع بواسطة خادم بناء في كل مرة يجرى فيها تغيير على مستودع التحكم بالمصدر، ثم يختبر باستخدام تقنيات عديدة مختلفة (تتضمن الاختبار اليدوي على الأغلب) قبل أن يحدد أنه قابل للإصدار.
قد يحتاج المطورون الذين اعتادوا على الدورات الطويلة إلى تغيير طريقة تفكيرهم عند العمل في بيئة التسليم المستمر. من المهم أن نفهم أن أي تنفيذ للكود البرمجي يمكن إصداره إلى العملاء في أي وقت. قد تكون بعض الأنماط مثل تقنيات تبديل الميزات مفيدة جدًا في تنفيذ الكود البرمجي (الذي لم يجهز بعد لاستخدامه من قبل المستخدمين النهائيين) باكرًا. يمكن أن يؤدي استخدام نظام قواعد البيانات غير العلائقي إلى إزالة خطوة ترحيل البيانات وتغييرات المخطط، ويُنفذ غالباً خطوات اليدوية أو استثناءات لسير عمل التسليم المستمر.
هناك تقنيات مفيدة أخرى لتطوير الكود بشكل منفصل مثل تفريع الكود، وهي تقنيات حديثة في التسليم المستمر، ولكن يجب تكييفها لتتناسب مع مبادئ التسليم المستمر - مثلًا، يمكن أن يكون تشغيل عدة فروع الكود طويلة الأجل غير عملي، لأنه يجب بناء منتج قابل للإصدار في وقت مبكر من عملية التسليم المستمر من فرع واحد من فروع الكود إذا فُرض عليه المرور عبر جميع مراحل أنابيب التجزئة.
يُمكّن التسليم المستمر من خلال أنابيب تجزئة النشر. هناك ثلاث أهداف لأنابيب تجزئة النشر: الرؤية والتغذية الراجعة والنشر المستمر.
لتطبيق التسليم المستمر بفعالية، يجب أن تلبي التطبيقات البرمجية مجموعة من المتطلبات البنيوية المهمة (ايه إس آر) مثل إمكانية النشر وقابلية التعديل وقابلية الاختبار. تتطلب هذه المتطلبات البنيوية المهمة أولوية عليا ولا يمكن استبدالها بسهولة.
كثيرًا ما تُستخدم الخدمات الصغيرة لتصميم التسليم المستمر. يمكن أن يزيد استخدام الخدمات الصغيرة قابلية نشر النظام وتعديله. تتضمن تحسينات قابلية النشر الملحوظة: استقلالية النشر، ووقت نشر أقصر، وإجراءات نشر أبسط، وعدم تعطل النشر. تشمل تحسينات قابلية التعديل الملحوظة: فترات زمنية أقصر للتغيرات الوظيفية التزايدية الصغيرة، تغييرات أسهل في اختيار التكنولوجيا، تغييرات سمات الجودة التزايدية، وتحديثات أسهل للغة والمكتبة.
نشر كتاب التسليم المستمر الذي كتبه جيهز همبل وديفيد فارلي مصطلح النشر المستمر، ولكن منذ إنشائه، استمر التعريف في التقدم ويملك الآن معنى أكثر تطوراً. تطبق الشركات اليوم مبادئ التسليم المستمر هذه وأفضل الممارسات. ما تزال الاختلافات بين المجالات، مثل الطب مقابل الويب، كبيرة وتؤثر على التنفيذ والاستخدام. وفيما يلي بعض الشركات المعروفة التي تعتمد هذا النهج: ياهو!، وأمازون، وفيسبوك، وغوغل، وبادي باور وويلز فارغو.
أُبلغ عن العديد من فوائد التسليم المستمر:
وجرى التحقيق في العقبات أيضًا.
طرح تشن ثمانية تحديات اعتماد أخرى وصاغها. تتمثل هذه التحديات في مجالات البنية التنظيمية والعمليات والأدوات والبنية التحتية والنظم القديمة وتصميم التسليم المستمر، والاختبار المستمر للمتطلبات غير الوظيفية، وتحسين تنفيذ الاختبار.