إجراء تحديث الإضافات القياسية

لدي موقع Discourse صغير مستضاف ذاتيًا تم إنشاؤه باستخدام تثبيت Docker قياسي. لقد قمت بتثبيت العديد من الإضافات على مر السنين عن طريق تعديل الخطافات في نهاية ملف containers/app.yml لاستنساخ مستودع الإضافة باستخدام git clone. لقد أجريت أيضًا بعض عمليات تطوير الإضافات.

ومع ذلك، قبل بضعة أشهر، تم دمج العديد من الإضافات القياسية في نواة Discourse. لنفترض أنني قمت بإنشاء نسخة متفرعة (fork) من مستودع Discourse بأكمله، وقمت بتعديل إحدى هذه الإضافات (على سبيل المثال، discourse-math)، وجعلت التغييرات تعمل بشكل ممتاز في بيئة التطوير المحلية الخاصة بي. ما هي الإجراءات اللازمة لإدخال هذه الإضافة الجديدة في مثيل Discourse الإنتاجي الخاص بي؟

من باب الاهتمام - لماذا تحتاج إلى عمل نسخة متفرعة (fork) من أي من الإضافات (plugins) الرسمية؟

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

<in after_code: somewhere >
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/myaccount/myplugin-replacement.git

قد تتمكن من القيام بذلك، ولكن تحقق مما يلي:

<in after_code: somewhere >
    - exec:
        cd: $home/plugins
        cmd:
          - rm -r poll
          - git clone https://github.com/myaccount/myplugin-replacement.git

لم أكن دقيقًا جدًا بشأن المسافات - تأكد من أن المسافة البادئة مثالية.

إعجابَين (2)

لأنني آمل في تحديث الإصدار القديم من MathJax الذي تستخدمه إضافة discourse-math.

حسنًا، يبدو لي أن هذا السطر هو ما ينقصني:

cmd:
  - rm -r poll

وللتوضيح، ما هو poll؟ أعتقد أنه يجب عليّ إزالة الدليل القديم discourse-math لمنع التعارضات التي يبدو أنني أواجهها. أي، شيء مثل

cmd:
  - -r plugins/discourse-math

لا يبدو أمرًا جيدًا لتشغيله عشوائيًا. :slight_smile:

لا يهم إذا ارتكبت خطأ، فقط أعد البناء إذا فعلت.

كان مثالي مع إضافة الاستطلاع (poll plugin).

لا تكرر دليل الإضافة (plugin directory).

إعجابَين (2)

@merefield بالمناسبة، أعتقد أنك قد تعجبك الرسوم المتحركة في صفحتي الرئيسية: https://discourse.marksmath.org/

لقد استخدمت بعضًا من التعليمات البرمجية الخاصة بك في هذه العملية.

إعجاب واحد (1)

ها، لطيف، أضف الآن نقرة إلى بطاقة المستخدم! :slight_smile:

إعجابَين (2)

لقد نجح هذا الأمر يا @merefield - شكرًا جزيلاً!!!

إعجاب واحد (1)

قد يكون هذا تغييرًا pr-welcome للمكون الإضافي الرسمي. إذا كنت مهتمًا بتجربة ذلك لصالح الجميع الذين يعتمدون على المكون الإضافي، فابدأ موضوع Feature لاقتراحه.

3 إعجابات