محاولة فهم خطابات مستودعات GitHub و discourse_docker

أثناء العمل على إجراءات التشغيل القياسية (SOP) لموقعنا المستضاف ذاتيًا، أحاول شرح الفرق بين مستودعات GitHub discourse و discourse_docker للبط المطاطي duck :duck:

فيما يلي ثلاثة أدلة، إذا جاز التعبير، على ذلك


عند تثبيت Discourse لأول مرة، يُستخدم مستودع discourse_docker.

groot@galaxy:~$ git clone https://github.com/discourse/discourse_docker.git /var/discourse

الآن، عند قراءة المشاركات هنا، يُشار إلى أن الفرع الذي يعمل عليه العملاء هو tests-passed. وعند فحص مستودع discourse_docker، لا يوجد الفرع tests-passed موجودًا، لكن عند فحص مستودع discourse، يُوجد الفرع tests-passed موجودًا.


بشأن tests-passed في discourse_docker، يُوجد tests-passed موجودًا في الدليل samples، الملف standalone.yml، وفي discourse_docker لا يُوجد tests-passed موجودًا في ملف إعدادات موقع مشابه مثل app.yml.


إذا قمت بتشغيل launcher rebuild app مع تتبع bash نشط، على سبيل المثال:

groot@galaxy:/var/discourse$ sudo bash -x launcher rebuild app

فسيُسجّل:

I, [2020-06-07T23:49:27.550542 #1]  INFO -- : > cd /var/www/discourse && git pull
From https://github.com/discourse/discourse

هل يمكن لأحد شرح كل هذا حتى يفهم البط :duck؟

يقوم Discourse_docker ببناء حاويات Docker التي تشغل Discourse. يقوم بتنزيل Discourse. يمكنك تحديد الفرع (أو حتى الالتزام) لـ Discourse في ملف app.yml الذي يستخدمه Discourse docker لتنزيل Discourse عند بناء حاوية جديدة.

يتم استنساخ مستودع discourse_docker على الخادم (من قبل المشغل) لتشغيل حاوية Docker.

يتم استنساخ مستودع discourse داخل حاوية Docker (من خلال سكريبت) لتشغيل تطبيق Discourse.