טראק-GitolitePlugin הוא תוסף טראק שמספק אינטגרציה דו-כיוונית עם gitolite: & nbsp; https: //github.com/sitaramc/gitolite.
1. משתמשים שאין להם גישה לקריאה למאגר בGitolite ייחסמו מצפיית מאגר שבדפדפן האינטרנט של טראק
2. מנהלים Trac יכול לנהל הרשאות המאגר מבוסס gitolite של משתמשים באמצעות ממשק האינטרנט טראק
3. מנהלים Trac יכול להוסיף ולהסיר המפתחות הציבוריים SSH של משתמשים באמצעות ממשק האינטרנט טראק כדי לשלוט בגישה למערכת gitolite
4. מנהלים Trac עשויים להשתמש בתכונת "צור החדש Repository" לאתחל מאגר gitolite ריק באמצעות ממשק האינטרנט טראק
התקנה
סקירה
1. התקן טראק וGitolite על אותו השרת.
2. ודאו שהמשתמש במערכת הפעלת תהליך טראק שמערכת קבצים של גישת הקריאה לכל מאגרי gitolite בהווה ובעתיד. הדרך הפשוטה ביותר לעשות זאת היא להפעיל טראק כמשתמש gitolite; הדרך הנכונה יותר היא להוסיף טראק לקבוצה העיקרית של משתמש gitolite ולהגדיר umask => 0027 ב.gitolite.rc כמו גם פועל chmod כדי לתקן את ההרשאות על הקבצים שכבר נוצרו.
3. ודאו שהמשתמש במערכת הפעלת תהליך Trac יכול לשכפל ולדחוף את מאגר gitolite-admin, על ידי הקמת keypair SSH עבור משתמש Trac, והוסיף כי מפתח הציבורי לgitolite-admin / keydir ו+ RW הוספה (או סתם RW) הרשאות למשתמש המקביל בgitolite-admin / conf / gitolite.conf ל" gitolite-admin ריפו ".
4. יגידו לי טראק על קיומו של מאגר gitolite-admin על ידי הפעלת הפקודה כמו מאגר טראק-admin להוסיף GITOLITE_HOME $ gitolite-admin / מאגרים / git gitolite-admin.git
5. התקן את תוסף trac_gitolite, לאפשר מרכיביו בtrac.ini וצרף בתחילת שורה "GitolitePermissionPolicy" להגדרות permission_policies trac.ini של האתר שלך.
הוראות מפורטות
ראשית, להתקין את שני טראק וGitolite בדרכים סטנדרטית. הם חייבים להיות מותקנים על אותו השרת.
אתה צריך לוודא שיש טראק גישת הקריאה ההכרחית לספריית מערכת הקבצים המכילה מאגרי gitolite שלך. אם טראק פועל כ" wsgi "המשתמש וgitolite הותקן לרוץ כמו" git "משתמש עם תיקיית בית / home / git / סביר להניח שאתה רוצה להפעיל פקודה בשרת שלך ככה:
sudo usermod -a -G git wsgi
g -R chmod sudo + RX / home / git / מאגרים /
אתה גם צריך לוודא שTrac יכול להמשיך לקרוא את כל קבצים הדרושים לאורך זמן. דרך אחת לעשות זאת היא להגדיר את הגדרת umask ב.gitolite.rc ל0027. דרך נוספת תהיה להגדיר את core.sharedRepository = קבוצת תצורת מאגר בכל המאגרים הקיימים וחדשים (כולל gitolite-admin) באמצעות תבנית מאגר.
עכשיו טראק להיות מסוגל לקרוא ממאגרי gitolite שלך באמצעות תכונות המאגר הסטנדרטי שלה.
לאחר מכן אתה צריך להוסיף את מאגר gitolite-admin עצמו לטראק. זה יאפשר Trac לקרוא קבצי תצורה ישירות ממאגר gitolite-admin שימוש בממשקי API גרסה-השליטה שלו. לעשות את זה עם שורת הפקודה:
טראק-admin / נתיב / ל/ env / מאגר להוסיף git /home/git/repositories/gitolite-admin.git gitolite-admin
מעתה והלאה, כדי להוסיף מאגר gitolite הקיים בשם "שלי-הראשון-ריפו" למערכת הטראק שלך, יהיה עליך להוסיף מאגר git טראק בשם "הראשון-repo שלי" עם ספרייה / home / git / מאגרים /-הראשון -repo.git באמצעות קבצי תצורת הממשק של טראק הסטנדרטי מנהלי אינטרנט, סקריפטים פגז, או.
בשלב הבא, תצטרך להעניק למשתמש במערכת Trac הרשאות קריאה וכתיבה על מאגר gitolite-admin דרך gitolite עצמו. כך טראק לכתוב שינויים במערכת Gitolite שלך (משתמש מבוסס אינטרנט, רשות וניהול מאגר) - זה יהיה לשכפל את ריפו gitolite-admin, לכתוב שינויים, להתחייב ולדחוף בחזרה לשרתם.
כדי לעשות זאת - בהנחה ששוב טראק פועל כ" wsgi "משתמש - תוכל להפעיל פקודות בשרת שלך ככה:
wsgi sudo su
ssh-סדק
יציאה
cd / tmp /
localhost @ git clone git: gitolite-admin.git
cd / tmp / gitolite-admin /
הד "gitolite-admin ריפו
& Nbsp; ./conf/gitolite.conf + = wsgi ">> RW
sudo cp ~ wsgi / .ssh / id_rsa.pub ./keydir/wsgi.pub
git להוסיף conf / gitolite.conf / wsgi.pub keydir
git להתחייב -m "הגדרת הרשאות trac_gitolite"
דחיפת git
לבסוף, לאפשר לרכיבי trac_gitolite בtrac.ini לאתר שלך:
[רכיבים]
trac_gitolite. * = אפשר
זה יוסיף שלושה פנלים חדשים לסעיף "בקרת הגרסה" בAdmin טראק. בנוסף, כדי לאפשר מדיניות הרשות, להוסיף לtrac.ini שלך:
[טראק]
permission_policies = GitolitePermissionPolicy, AuthzPolicy,
& Nbsp; DefaultPermissionPolicy, LegacyAttachmentPolicy
תצורה
ברירות מחדל הגיוניים מסופקות שצריכה לעבוד בהתקנות האופייניות ביותר של טראק וGitolite. האפשרויות הבאות trac.ini (כולן בסעיף [טראק-gitolite]) ניתן לשנות במידת צורך:
- Admin_reponame: ברירת מחדל gitolite-admin; זה הוא השם בטראק של מאגר gitolite-admin
- Admin_real_reponame: ברירת מחדל gitolite-admin; זה הוא השם בgitolite של מאגר gitolite-admin
- Admin_ssh_path: ברירת המחדל localhost @ git: gitolite-admin.git
- Admin_system_user: ברירת מחדל "טראק"; זה הוא השם בgitolite של המשתמש במערכת הפעלת תהליך אינטרנט טראק
- Default_private: ברירת מחדל לנכון; כאשר ערך True (ברירת המחדל) המאגרים הידועים לטראק שחסרי gitolite.conf לא יהיו גלויים דרך דפדפן מקור טראק לכל משתמשים. קבע את זה לFalse לדחות הרשאות אלה "מאגרים לשאר מערכת אישור טראק.
- All_includes_anonymous: ברירת מחדל False; כאשר מוגדר נכון, מאגרים עםall = R בgitolite.conf יהיו ניתנים לצפייה דרך האינטרנט על ידי משתמשים אנונימיים. ברירת המחדל היא להפוך את המאגרים הללו לצפייה על ידי כל משתמשים רשומים בלבד
מה חדש במהדורה זו:.
- שגיאה קבועה במהדורה קודמת.
דרישות :
- Python
- טראק
תגובות לא נמצא