Puncte:1

Problemă Sudo: Am nevoie de ajutor cu cheile Github și Echipele mele ssh

drapel us

Se pare că nu găsesc o întrebare care se referă complet la asta. Folosesc ubuntu 20.04 și proiectul meu este stocat în /var/www/html/My_Project

În prezent lucrez cu o echipă de cinci persoane și când împingem sau tragem, folosim sudo. Când facem asta, depozitul nostru git trage prin https și solicită acreditările. Începând de astăzi, GitHub nu mai folosește parole standard pentru https, acum este un token care arată cam așa „lksadknkasjvjkasd345kKja345neuhiehkjsdfn” (nu un token real). Este o durere de păstrat și folosit din nou și din nou.

Am configurat o cheie ssh, dar a trebuit să-mi setez cheia pentru utilizatorul root, deoarece nimeni nu are permisiuni să scrie în acest director. (Îmi place foarte mult să folosesc sudo pentru a face modificări). Există deci o modalitate prin care putem folosi sudo, dar folosim fiecare cheie pentru membrii echipei în loc de doar a mea.

Văd ca toată lumea să-mi folosească cheia ca o practică proastă

Adăugând câteva clarificări, sunt conștient că aceasta este o configurație proastă. Nu sunt tipul care o poate schimba. Avem 5 dezvoltatori cu propriile proiecte pe această mașină și fiecare dezvoltator nu are acces la toate depozitele, așa că a avea 1 cheie ssh ca root nu ar funcționa.

Avem o mașină de producție care este gestionată doar de CTO, „Code Review”, când se întâmplă, are loc pe această mașină înainte de a intra în producție.

Așadar, vă rog să răspundeți la întrebare doar dacă aveți o soluție sau spuneți-mi dacă acesta este doar un demers fără speranță. #SolutionsNeeded

Bradley Armstrong avatar
drapel us
Avem un cont GitHub de întreprindere și fiecare are propria cheie ssh împreună cu acces la depozit. Problema este că pot seta o singură cheie pentru proiect pe serverul nostru web. Cel puțin folosind metoda actuală.
Bradley Armstrong avatar
drapel us
S-a întâmplat. Depinde de tine cu privire la eliminare
terdon avatar
drapel cn
Aceasta este o configurație foarte, foarte, foarte proastă. Ar trebui să vă mutați depozitele în directoarele locale $HOME și _nu_ să rulați git cu sudo!
Puncte:2
drapel cn

Practica proastă aici este că aveți depozitul într-un director care nu poate fi scris. Din ceea ce descrieți, este și mai rău și de fapt îi aveți pe toată lumea folosind același depozit git local! Acest tip de învinge întregul punct de a folosi git în primul rând! Dacă vreunul dintre voi strica depozitul, nu îl puteți repara din copia locală a altcuiva. De asemenea, nu poți lucra în același timp. Aceasta este într-adevăr o configurație foarte proastă.

Spui că îți place să folosești sudo pentru a face modificări. Îmi pare rău, dar nu are deloc sens. Controlați accesul controlând ceea ce se îmbină, nu controlând cine poate scrie în fișierele depozitului local! În plus, aceasta este o abordare îngrozitor de nesigură: le oferi tuturor dezvoltatorilor tăi acces root la mașină doar pentru ca aceștia să își poată scrie codul! Bănuiesc că credeți că acest lucru crește siguranța, dar adevărul este că face exact invers.

Spuneți tuturor să alerge a clona git în directoarele lor de acasă astfel încât fiecare să aibă propria copie locală a codului. Apoi, configurați depozitul astfel încât să nu permită fuzionarea fără o cerere de extragere revizuită. Acesta este ceva ce vrei oricum.

Acest lucru nu numai că vă va permite să utilizați git în cea mai mare măsură, toată lumea având o copie locală a depozitului, care asigură siguranța codului și permite mai multor persoane să lucreze în paralel, pe aceleași ramuri sau pe diferite ramuri, va avea și un efect secundar plăcut. de rezolvare a problemei pe care o descrieți în întrebarea dvs.: toată lumea își poate adăuga acum propria cheie ssh publică la GitHub, își poate stoca propria cheie ssh privată în $HOME/.ssh/ și să poată trimite în depozit și deschide cereri de extragere pentru ca proprietarul depozitului să le examineze și să fuzioneze.

Bradley Armstrong avatar
drapel us
Îmi voi ajusta puțin întrebarea. Aceasta este mașina de testare web preproducție. Vrem doar un exemplar pe acest aparat.
terdon avatar
drapel cn
@BradleyArmstrong atunci de ce lucrează cineva la mașină? Aveți doar o copie și permiteți root-ului să verifice ramura relevantă, de ce ați dori ca dezvoltatorii să scrie direct în depozit? Fiecare dezvoltator își face modificările în repo-ul local, împinge către ramura la distanță (în mod ideal, apoi va trece printr-o revizuire a codului), apoi ramura este verificată pe mașina țintă pentru implementare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.