خطأ Git عند إعادة بناء التطبيق - لم يتم العثور على المرجع البعيد refs/heads/tests-passed

مرحباً يا رفاق،

أواجه هذا الخطأ عند إعادة بناء التطبيق

> Pups::ExecError: cd /var/www/discourse & sudo -H -E -u discourse bash -c '
>   set -o errexit
>   if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
>       git remote set-branches --add origin main
>       git remote set-branches origin tests-passed
>       git fetch --depth 1 origin tests-passed
>   else
>       git fetch --tags --prune-tags --prune --force origin
>   fi
> ' failed with return #<Process::Status: pid 145 exit 128>

عندما أقوم بتنفيذ هذا:

> git fetch --tags --prune-tags --prune --force origin

أحصل على الخطأ

> fatal: couldn't find remote ref refs/heads/tests-passed

هل أفعل شيئًا خاطئًا؟

شكرًا وتحياتي!

ملاحظة: نسيت أن أذكر. أول عملية سحب نجحت، فقط مهمة إعادة بناء التطبيق تفشل مع هذا. لذا لا توجد مشكلة في Git من جانبي، أعتقد (آمل :slight_smile: )

لاحظت للتو المزيد من المشاكل أعلاه في السجلات :frowning:

تم التحديث بنجاح. إعادة البناء في 5 ثوانٍ.
جارٍ بناء التطبيق
تم اكتشاف بنية x86_64.
جارٍ التأكد من تحديث المشغل
خطأ فادح: لم يتم العثور على المرجع البعيد refs/heads/tests-passed
خطأ فادح: لم يتم تخزين الفرع البعيد ‘refs/heads/main’ كفرع تتبع بعيد
خطأ فادح: لم يتم تخزين الفرع البعيد ‘refs/heads/main’ كفرع تتبع بعيد
./launcher: السطر 794: [: 69d7558c98a3775f62b720a8393e76f2b42bd916: عامل أحادي متوقع
./launcher: السطر 797: [: 69d7558c98a3775f62b720a8393e76f2b42bd916: عامل أحادي متوقع

عند تشغيل حاوية باستخدام docker run -it --entrypoint /bin/bash …
ومحاولة استخدام git، أحصل على هذا

git clone https://github.com/discourse/discourse.git/
Cloning into 'discourse'...
fatal: unable to access 'https://github.com/discourse/discourse.git/': server certificate verification failed. CAfile: none CRLfile: none

هل يمكنك نشر مخرجات السجل بالكامل واستخدام كتلة نصية مُنسقة مسبقًا؟ هذا من شأنه أن يساعد.

أشك في أنك تقوم بذلك على شبكة مؤسسية تستخدم وكيل فحص MITM لحركة مرور الويب الصادرة؟

إذا كان الأمر كذلك، فستحتاج إلى تكوين الخادم الخاص بك (وصورة Docker) للوثوق في جذر CA الخاص بالمؤسسة.

هذه هي الحالة بالضبط.
هل هناك وظيفة قياسية متاحة في discourse docker لتحقيق ذلك (أعني صورة docker، وليس الخادم)، أم يجب علي القيام بذلك يدويًا؟

شكراً جزيلاً مقدماً وتحياتي،

WS

تحديث: لا، كنت مخطئًا. أنا في الواقع أقوم بذلك في سياق شركة، ولكن المثيل موجود على مثيل ec2 (Amazon Linux 2 AMI القياسي)، والذي يمكن أن يخرج عبر وكيل …
وكما قلت، كان أول سحب ناجحًا، فقط إعادة البناء تتعطل.

تم التحقق مرة أخرى، إنه يعمل على المضيف، ولكنه لا يعمل في الحاوية :frowning:

مرحباً @Lilly ، آسف على التأخير، ولكن إليك السجل (الجزء ذي الصلة على ما أعتقد)

I, [2024-11-20T05:57:07.498456 #1]  INFO -- : > cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse git reset --hard
Updating files: 100% (34680/34680), done.
I, [2024-11-20T05:57:11.943323 #1]  INFO -- : HEAD is now at 274e18622 FIX: Video uploads sometimes hang indefinitely (#28523)

I, [2024-11-20T05:57:11.943867 #1]  INFO -- : > cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse git clean -f
I, [2024-11-20T05:57:12.079705 #1]  INFO -- : 
I, [2024-11-20T05:57:12.080107 #1]  INFO -- : > cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
'
fatal: unable to access 'https://github.com/discourse/discourse.git/': server certificate verification failed. CAfile: none CRLfile: none
I, [2024-11-20T05:57:12.186392 #1]  INFO -- : 
I, [2024-11-20T05:57:12.187130 #1]  INFO -- : Terminating async processes
I, [2024-11-20T05:57:12.187180 #1]  INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 39
2024-11-20 05:57:12.187 UTC [39] LOG:  received fast shutdown request
I, [2024-11-20T05:57:12.187839 #1]  INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 107
107:signal-handler (1732082232) Received SIGTERM scheduling shutdown...
2024-11-20 05:57:12.189 UTC [39] LOG:  aborting any active transactions
107:M 20 Nov 2024 05:57:12.193 # User requested shutdown...
107:M 20 Nov 2024 05:57:12.193 * Saving the final RDB snapshot before exiting.
2024-11-20 05:57:12.194 UTC [39] LOG:  background worker "logical replication launcher" (PID 54) exited with exit code 1
2024-11-20 05:57:12.194 UTC [49] LOG:  shutting down
107:M 20 Nov 2024 05:57:12.197 * DB saved on disk
107:M 20 Nov 2024 05:57:12.197 # Redis is now ready to exit, bye bye...
2024-11-20 05:57:12.227 UTC [39] LOG:  database system is shut down

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; sudo -H -E -u discourse bash -c '
  set -o errexit
  if [ $(git rev-parse --is-shallow-repository) == "true" ]; then
      git remote set-branches --add origin main
      git remote set-branches origin tests-passed
      git fetch --depth 1 origin tests-passed
  else
      git fetch --tags --prune-tags --prune --force origin
  fi
' failed with return #&lt;Process::Status: pid 144 exit 128&gt;
Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd"=>["sudo -H -E -u discourse git reset --hard", "sudo -H -E -u discourse git clean -f", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [ $(git rev-parse --is-shallow-repository) == \"true\" ]; then\n      git remote set-branches --add origin main\n      git remote set-branches origin $version\n      git fetch --depth 1 origin $version\n  else\n      git fetch --tags --prune-tags --prune --force origin\n  fi\n'", "sudo -H -E -u discourse bash -c '\n  set -o errexit\n  if [[ $(git symbolic-ref --short HEAD) == $version ]] ; then\n      git pull\n  else\n      git -c advice.detachedHead=false checkout $version\n  fi\n'", "sudo -H -E -u discourse git config user.discourse-version $version", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp\"", "[ ! -d public/plugins ] || find public/plugins/ -maxdepth 1 -xtype l -delete]"}
bootstrap failed with exit code 128
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.

عذرًا يا رفاق، لقد كانت مشكلة وكيل. اضطررت إلى تكوين الوكلاء في ~/.docker/config.json حتى يتم حقنهم في الحاوية، وقد نجح الأمر …
يا إلهي، كم من العمر أضعته في مشاكل الوكيل؟ :stuck_out_tongue:

3 إعجابات

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.