Window.pipedriveLeadboosterConfig = { القاعدة: 'leadbooster-chat.pipedrive.com', companyId: 11580370, playbookUuid: '22236db1-6d50-40c4-b48f-8b11262155be', الإصدار: 2, } ؛(الدالة () { var w = نافذة إذا كان (w.LeadBooster) { console.warn('LeadBooster موجود بالفعل') } وإلا { { w.LeadBooster = { q: [], على: دالة (ن، ح) { { هذا.q.push({ t: 'o'، n: n، n: n، h: h }) }, الزناد: الدالة (n) { هذا.q.push({ t: 't'، n: n: n }) }, } } })() كيفية الإرساء الدرس المستفاد - The Codest
The Codest
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • الصناعات
    • التكنولوجيا المالية والمصرفية
    • E-commerce
    • أدتك
    • التكنولوجيا الصحية
    • التصنيع
    • الخدمات اللوجستية
    • السيارات
    • إنترنت الأشياء
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
  • نبذة عنا
  • الخدمات
    • تطوير البرمجيات
      • تطوير الواجهة الأمامية
      • تطوير الواجهة الخلفية
    • Staff Augmentation
      • مطورو الواجهة الأمامية
      • مطورو الواجهة الخلفية
      • مهندسو البيانات
      • مهندسو السحابة
      • مهندسو ضمان الجودة
      • أخرى
    • استشاري
      • التدقيق والاستشارات
  • القيمة مقابل
    • CEO
    • CTO
    • مدير التوصيل
  • فريقنا
  • دراسات الحالة
  • اعرف كيف
    • المدونة
    • اللقاءات
    • ندوات عبر الإنترنت
    • الموارد
الوظائف تواصل معنا
السهم الخلفي العودة إلى الوراء
2018-09-09
تطوير البرمجيات

كيفية إرساء الدرس المستفاد

داويد بولشلوبيك

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

مقدمة

سيؤدي اكتشاف طريقة أبسط لأتمتة العمليات إلى تحسين كبير في عملي وكذلك في عمل كل الفريق. فكرت "لماذا لا نستخدم Docker؟"

خلال مرحلة الإعداد، قمت بإنشاء إعدادين: أحدهما للتطبيق الأمامي، والآخر لواجهة برمجة التطبيقات. يمكنك الاطلاع أدناه على عرض لما تعلمته خلال عملية التطوير.

المشكلة الأولى

أريد أن يكون لدي مستودع مستنسخ في الحاوية، لذلك أضفت مفتاح ssh عبر الأمر ADD في Dockerfile:

إضافة ~/.ssh/Testowy

وفجأة، لم يتم العثور على الملف. لماذا؟

لنفترض أن لدينا بنية المجلدات التالية:

حوض السفن/
|-- الأشياء/
| |-- test.txt
|-- ملف قفص الاتهام
خادم/
|-- البيانات
| |-- الإعداد.yml

تشغيل الأمر البناء في قائمة انتظار تسجيل الدخول مجلد ويمكنك فقط إضافة ملفات من المجلد المحلي ومجلداته الفرعية المحلية، مثل الأشياء.

إذا كنت ترغب في إضافة الخادم المجلد، ستتلقى رسالة "غير قادر على إعداد السياق"

دوكريجنور

هل تساءلت يومًا عن سبب استغراق الصورة وقتًا طويلاً في الإنشاء؟ ربما لم تستخدم .dockerignoreلتجاهل الملفات غير الضرورية في الصورة. إن .git يجب إزالة المجلد تلقائيًا وكذلك أي ملفات مؤقتة.

ترتيب الأوامر في ملف Dockerfile

يقوم Docker بحفظ كل سطر من Dockerfile وبعد البناء يتم حفظ كل سطر كطبقة. من المهم جدًا عدم تغيير ترتيب أوامر معينة كثيرًا.

من أوبونتو
قم بتشغيل apt-get install -y software-properamics-common بايثون
تشغيل إضافة-إضافة-مستودع-آب-مستودع ppa:chris-lea/node.js
RUN echo echo "deb http://us.archive.ubuntu.com/ubuntu/ precise universe" >> /> /etc/apt/sources.list
تشغيل apt-get update
قم بتشغيل apt-get install -y nodejs
قم بتشغيل apt-get install -y nodejs=0.6.12~dfsg1-1ubuntu1
قم بتشغيل mkdir /var/www

إضافة التطبيق.js /var/www/app.js

CMD ["/usr/bin/node"، "/var/www/app.js"]

على سبيل المثال، إذا قمت بتغيير السطر الأخير في ملف Dockerfile، فسيتم تنزيل جميع الأسطر السابقة من ذاكرة التخزين المؤقت بينما سيتم تعديل السطر الأخير. عندما تستبدل السطر رقم 4، فسيتم تعديل جميع الأسطر التي تبدأ من السطر 4 حتى النهاية. لهذا السبب يجدر بك وضع الأوامر التي لن تتغير، في بداية الملف.

نسخ الملفات إلى صورة

يجدر التفكير في الغرض الذي ستستخدم فيه صورة معينة. إذا كنت بحاجة إليها لتشغيل خدمة مرة واحدة، فما عليك سوى نسخ الكود المحتوى مباشرة إلى الصورة:

نسخ . /workdir

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

إذا كنت تستخدم نظام MacOS وترغب في استخدام الصورة المدمجة للتطوير، فعليك التعامل مع هذا الأمر بطريقة مختلفة قليلاً. إذا كنت ستستخدم وحدات التخزين، فعليك أن تكون مستعدًا أن هذا حل بطيء للغاية (على سبيل المثال يتم نسخ ملف من المضيف إلى الحاوية بسرعة 4.5 ميجابايت/ثانية، بينما يتم النسخ داخليًا في الحاوية بسرعة أعلى من 10-20 مرة). لحسن الحظ، كما ترى في الرابط، فإن المشكلة معروفة وحلها هو المشكلة الرئيسية للفريق المسؤول عن تطوير Docker لنظام التشغيل Mac.

كيف يمكنك استخدام Docker للتطوير في هذه الحالة؟

يمكنك استخدامه للخدمات الخارجية، مثل Redis/PSQL/PSQL/lasticsearch أو استخدام الحلول الجاهزة التي توفر rsync: https://github.com/brikis98/docker-osx-dev

خلاصة القول

إذا كان لديك فريق كبير وترغب في اختبار ميزة جديدة، فسيكون docker الأداة المثالية! ومع ذلك، هل سأستخدمها لإطلاق الإنتاج لخادم؟ لست مقتنعاً تماماً بعد...

بالإضافة إلى ذلك، أوصي ببعض المقالات البارزة:

  • كيفية اختبار الصور
  • شيء آخر عن Docker، ولكن من الجدير بالذكر أيضًا
  • أخيرًا وليس آخرًا، وثائق Docker

مقالات ذات صلة

تطوير البرمجيات

إنشاء تطبيقات ويب مستقبلية: رؤى من فريق خبراء The Codest

اكتشف كيف تتفوق شركة The Codest في إنشاء تطبيقات ويب تفاعلية قابلة للتطوير باستخدام أحدث التقنيات، وتقديم تجارب مستخدم سلسة عبر جميع المنصات. اكتشف كيف تقود خبرتنا التحول الرقمي والأعمال التجارية...

ذا كوديست
تطوير البرمجيات

أفضل 10 شركات لتطوير البرمجيات في لاتفيا

تعرّف على أفضل شركات تطوير البرمجيات في لاتفيا وحلولها المبتكرة في أحدث مقالاتنا. اكتشف كيف يمكن لهذه الشركات الرائدة في مجال التكنولوجيا المساعدة في الارتقاء بأعمالك.

thecodest
الحلول المؤسسية وحلول التوسعة

أساسيات تطوير برمجيات جافا: دليل للاستعانة بمصادر خارجية بنجاح

استكشف هذا الدليل الأساسي حول تطوير برمجيات جافا outsourcing بنجاح لتعزيز الكفاءة والوصول إلى الخبرة وتحقيق نجاح المشروع باستخدام The Codest.

thecodest
تطوير البرمجيات

الدليل الشامل للاستعانة بمصادر خارجية في بولندا

إن الطفرة في outsourcing في بولندا مدفوعة بالتقدم الاقتصادي والتعليمي والتكنولوجي، مما يعزز نمو تكنولوجيا المعلومات والمناخ الملائم للأعمال.

ذا كوديست
الحلول المؤسسية وحلول التوسعة

الدليل الكامل لأدوات وتقنيات تدقيق تكنولوجيا المعلومات

تضمن عمليات تدقيق تكنولوجيا المعلومات وجود أنظمة آمنة وفعالة ومتوافقة. تعرف على المزيد حول أهميتها من خلال قراءة المقال كاملاً.

The Codest
ياكوب جاكوب جاكوبوفيتش CTO وشريك مؤسس CTO

اشترك في قاعدة معارفنا وابقَ على اطلاع على آخر المستجدات في قطاع تكنولوجيا المعلومات.

    نبذة عنا

    The Codest - شركة دولية لتطوير البرمجيات لها مراكز تقنية في بولندا.

    المملكة المتحدة - المقر الرئيسي

    • المكتب 303 ب، 182-184 شارع هاي ستريت نورث E6 2JA
      لندن، إنجلترا

    بولندا - مراكز التكنولوجيا المحلية

    • مجمع مكاتب فابريتشنا المكتبي، أليجا
      بوكوجو 18، 31-564 كراكوف
    • سفارة الأدمغة، كونستروكتورسكا
      11, 02-673 02-673 وارسو، بولندا

      The Codest

    • الصفحة الرئيسية
    • نبذة عنا
    • الخدمات
    • دراسات الحالة
    • اعرف كيف
    • الوظائف
    • القاموس

      الخدمات

    • استشاري
    • تطوير البرمجيات
    • تطوير الواجهة الخلفية
    • تطوير الواجهة الأمامية
    • Staff Augmentation
    • مطورو الواجهة الخلفية
    • مهندسو السحابة
    • مهندسو البيانات
    • أخرى
    • مهندسو ضمان الجودة

      الموارد

    • حقائق وأساطير حول التعاون مع شريك خارجي لتطوير البرمجيات
    • من الولايات المتحدة الأمريكية إلى أوروبا: لماذا تقرر الشركات الأمريكية الناشئة الانتقال إلى أوروبا؟
    • مقارنة مراكز تطوير التكنولوجيا في الخارج: تك أوفشور أوروبا (بولندا)، آسيان (الفلبين)، أوراسيا (تركيا)
    • ما هي أهم التحديات التي تواجه CTOs ومديري تكنولوجيا المعلومات؟
    • The Codest
    • The Codest
    • The Codest
    • Privacy policy
    • شروط استخدام الموقع الإلكتروني

    جميع الحقوق محفوظة © 2025 بواسطة The Codest. جميع الحقوق محفوظة.

    arArabic
    en_USEnglish de_DEGerman sv_SESwedish da_DKDanish nb_NONorwegian fiFinnish fr_FRFrench pl_PLPolish it_ITItalian jaJapanese ko_KRKorean es_ESSpanish nl_NLDutch etEstonian elGreek arArabic