Gitea: يتم تعطيل خطافات التحديث عند نقل gitea إلى مجلد آخر

تم إنشاؤها على ٧ يناير ٢٠١٧  ·  3تعليقات  ·  مصدر: go-gitea/gitea

  • إصدار Gitea: 1.0.1
  • إصدار بوابة:؟
  • نظام التشغيل: Arch Linux ARM ، محدث
  • قاعدة البيانات (استخدم [x] ):

    • [] PostgreSQL

    • [] MySQL

    • [x] سكليتي

  • هل يمكنك إعادة إنتاج الخطأ على https://try.gitea.io :

    • [] نعم (قدم مثالاً لعنوان URL)

    • [ ] رقم

    • [x] غير مناسب

وصف

وصف المشكلة / رسالة الخطأ

  1. يمكنك استنساخ ، سحب أي شيء. SSH الإعداد بشكل صحيح و blabla.
  2. رسالة الخطأ عند الدفع هي التالية (حيث git-mirror هو مضيف الجهاز).
[lycheejs] (development)$ git push mirror development
Counting objects: 80, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (76/76), done.
Writing objects: 100% (80/80), 15.28 KiB | 0 bytes/s, done.
Total 80 (delta 50), reused 0 (delta 0)

# XXX: Note this /home/alarm/gitea path, this is the outdated update hook path
remote: hooks/update: line 2: /home/alarm/gitea: Permission denied

remote: error: hook declined to update refs/heads/development
To git-mirror:Artificial-Engineering/lycheejs.git
 ! [remote rejected] development -> development (hook declined)
error: failed to push some refs to 'git@git-mirror:Artificial-Engineering/lycheejs.git'

خطوات التكاثر

  1. تم تثبيت gitea على /home/alarm للتجربة ، وبدء تشغيله وتكوينه.
  2. قم بإعداد حساب مستخدم git الصحيح.
  3. تم نقل الأشياء لاحقًا إلى /opt/gitea لأن لديّ محرك أقراص صلبة خارجي هناك (يعمل على Raspberry Pi 2).
  4. كان كل شيء قابلاً للتكوين والتعديل في custom/conf/app.ini
  5. باستثناء خطافات التحديث. تلك التي تحتوي على مسارات ثابتة للثنائي القديم.

Quickfix للآخرين

لقد أنشأت برنامجًا نصيًا صغيرًا يفترض أن المجلد ./gitea-repositories موجود في نفس المجلد مثل ملف gitea الثنائي والذي يعمل على إصلاح جميع روابط التحديث بمجرد تشغيله. في حالتي ، يقع في /opt/gitea/fix_repos.js حيث توجد مستودعات إعادة الشراء في /opt/gitea/gitea-repositories . ارتباط بالنص البرمجي fix_repos.js .

تسبب المشاكل

رأيت مشكلتين في المنبع حيث واجه الناس نفس المشاكل. من غير الواضح تمامًا أنه لا يمكنك التنقل حول gitea لأنني أفترض أنه يمكن نسخ / لصق ثنائي بملفات التكوين الخاصة به ويجب أن يعمل معزولًا في هذا المجلد.

اقتراح

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

revieweinvalid

التعليق الأكثر فائدة

أدخل لوحة إدارة Gitea على واجهة المستخدم ، وشغّل إعادة كتابة ملف ".ssh / author_keys" (تنبيه: ستفقد المفاتيح غير التابعة لـ Gitea) وأعد كتابة خطاف تحديث المستودعات (مطلوب عند تغيير مسار التكوين المخصص).

ال 3 كومينتر

أدخل لوحة إدارة Gitea على واجهة المستخدم ، وشغّل إعادة كتابة ملف ".ssh / author_keys" (تنبيه: ستفقد المفاتيح غير التابعة لـ Gitea) وأعد كتابة خطاف تحديث المستودعات (مطلوب عند تغيير مسار التكوين المخصص).

نظرًا لأن البيانات جزء ثابت ، يجب إعادة كتابتها داخل واجهة المستخدم الإدارية.

أولاً أحاول دفع git ولكني أحصل على هذا الخطأ.

[تم رفض التحكم عن بُعد] رئيسي -> رئيسي (تم رفض خطاف الاستلام المسبق)

أركض Update the '.ssh/authorized_keys' file with Gitea SSH keys. (Not needed for the built-in SSH server.) ولكن حدث خطأ.

افتح C: \ Windows \ system32 \ config \ systemprofile.ssh \ authorised_keys.tmp: لا يمكن للنظام العثور على المسار المحدد.

ثم أقوم بتشغيل Resynchronize pre-receive, update and post-receive hooks of all repositories.

وأحاول الدفع مرة أخرى وكل شيء يعمل بشكل جيد.

لست متأكدًا من أن هذا أو التحديث .ssh/authorized_keys يعمل حتى أنه يعرض خطأ أو شيء ما لكنه يعمل! لا اعرف لماذا.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات