بوابة:كيفية جعل الدليل البعيد التحديث عندما دفعت ؟

StackOverflow https://stackoverflow.com/questions/1433870

  •  07-07-2019
  •  | 
  •  

سؤال

أريد أن استخدام بوابة لإدارة بعض البيانات على ملقم بعيد ، لذا اقامة غير العارية مستودع هناك.أنا يمكن أن تدفع إلى ذلك دون مشاكل ، مستودع نفسها التحديثات ولكن الملفات الفعلية لا يتم تغيير/إضافة/حذف.يجب أن ssh إلى الخادم و القيام

git reset --hard HEAD

للحصول على بنية الملف فعلا التحديث.

ما الذي يمكن عمله ؟

هل كانت مفيدة؟

المحلول

لا يجب أن تفعل هذا.من المستحسن أن يكون العارية مستودعات.وبعبارة أخرى, لا ملفات سحبه فقط .بوابة الدليل نفسه.ثم يمكنك الخروج من مستودع إلى موقع آخر على الخادم الخاص بك -- يقول الويب الخاص بك الجذر.بهذه الطريقة, يمكنك الحصول على:

  • بوابة أفضل الممارسات.وفقا بوابة مستندات, يمكنك الحصول على "نتائج غير متوقعة" إذا كنت لا تتبع ذلك.أي شخص القيام به قليلا جيدة من البرمجة يعرف أن "نتائج غير متوقعة" هو رمز "ربما أكل أطفالك و ينبغي تجنب في جميع التكاليف."

  • أفضل, إذا كنت تخطط أن يكون فحص الملفات على الخادم يمكن الوصول إليها من خادم الويب.

  • تعديلات المحلية على التحقق من رمز ، والقدرة على إجراء تغييرات سريعة على العيش فحص التعليمات البرمجية.يمكنك محاولة القيام بذلك مباشرة على مستودع, ولكن سيكون فوضوي أكثر عرضة للخطأ.

  • القدرة على تحديث الخادم الخاص بك مستودع مستقل من تحديث لايف رمز الخدمة.هذه هي حاسمة جدا ، إذا كنت تعمل عن بعد و تحتاج إلى إرسال شيء إلى الملقم ومن ثم القيام بمزيد من العمل قبل أن تكون جاهزة live الخاص بك أو خدمة أو إذا كان لديك التغييرات في الخاص بك لايف رمز الخدمة (مختلف إعدادات التكوين) و تحتاج إلى دمج تلك التغييرات مع تغييرات في اتفاقيات إعادة الشراء ، ولكن لا يمكن أن تفعل ذلك الآن.

أنصح الخطوات التالية:

  • اتبع بوابة مستندات على إنشاء مستودع العارية
  • تحقق من رمز من الريبو الخاص بك العيش خدمة الهدف dir
  • إعداد بوابة هوك (بعد ارتكاب ينبغي أن يكون الحق في واحد IIRC) لتحديث الخدمة الحية عندما مستودع يتم تحديث.ينبغي أن يكون القرص المضغوط لايف خدمة dir, والقيام بوابة سحب --ريبس ، وربما وضع بعض أذونات الملف.
  • مجرد الضغط التعليمات البرمجية الخاصة بك إلى الريبو من ديف مربع من الآن فصاعدا.

نصائح أخرى

هذا من حسن الحظ ، ويدعم الآن مباشرة في بوابة نفسها!يمكنك أن تجد التفاصيل في هذا الجواب الذي لدي فقط upvoted:

https://stackoverflow.com/a/38363683/85360

وتوصي تكوين عن بعد مع

git config receive.denyCurrentBranch updateInstead

بحيث يدفع النتيجة في تحديث نسخة العمل!

استخدام وظيفة التحديث هوك:

السنانير

هناك يمكنك تنفيذ كل ما تريد على كل تحديث.

بوابة الإصدار 1.9.1
خادم أوبونتو 14.04 LTS
مصباح الخادم

أنا وضعت بلدي مصباح server تحديث دليل العمل من بوابة الريبو كلما واحد من مطوري الويب يدفع تغيير الملقم.لاحظت أن الدخول سيكون ملاحظة جديدة تلزم ولكن سوف يتم تحديث دليل العمل.بدلا من القيام بذلك يدويا (بوابة الخروج -و) على كل تحديث هذا يمكن تعيين تلقائيا إلى القيام بذلك بعد أن تم دفع الواردة.

  1. في الخاص بك ".بوابة" دليل تذهب إلى "هوكس" مجلد.
  2. إنشاء ملف اسمه "بعد تلقي" داخل "هوكس" مجلد مع هذا المحتوى:

    #!/bin/sh

    # تحديث دليل العمل بعد تلقي دفعة من العملاء البعيدين.
    # هذا يجب أن توجه في بوابة دليل العمل.

    GIT_WORK_TREE=/var/www/dev_site بوابة الخروج -f

  3. تمكين أذونات لتنفيذ الملف عن طريق كتابة "chmod +x بعد تلقي" في "هوكس" مجلد.

فإنه سيتم الآن تحديث دليل العمل عندما يرتكب دفعت إلى بوابة الريبو.موقعي الآن تظهر التغييرات عندما كنت أزوره في المتصفح.

العمل دليل /var/www/dev_site

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top