Controlul versiunii PHP Web Project

Avem un proiect PHP pe care dorim să îl controlam. În acest moment, trei dintre noi lucrăm la o versiune de dezvoltare a proiectului care se află într-un director extern la care sunt conectate toate IDE-urile Eclipse și, prin urmare, nici un control al versiunilor.

Care este calea cea bună și cel mai bun mod de a controla versiunea asta?

Avem o instalare SVN, dar trebuie doar să găsim o modalitate bună de a verifica și de a ieși, ceea ce ne permite să testam pe serverul de dezvoltare. Vreo idee?

0
fr hi bn

8 răspunsuri

O posibilă cale (există probabil căi mai bune):

Fiecare dintre voi ar trebui să aibă propria dvs. versiune verificată a proiectului.

Aveți o copie locală a serverului pe computerul dvs. și încercați-l acolo pe parcursul zilei. Apoi, la sfârșitul fiecărei zile (sau oriunde), îmbinați tot ceea ce sunteți gata să testați și verificați-l pe serverul dev și testați-l.

0
adăugat

Fiecare dintre dvs. ar putea rula local sau pe propriul server dev (sau chiar același cu un port diferit ...).

0
adăugat

Iată ce facem noi:

  • Fiecare dev are un VM care este configurat ca serverul de integrare
  • Serverul de integrare are spațiu pentru Trunk, fiecare utilizator și câteva sloturi pentru sucursale
  • Serverul de producție
  • Cârligele se află în subversiune la e-mail atunci când se fac comitete

La începutul unui proiect, utilizatorul face o ramură și o verifică pe propriul VM, precum și o copie curată a bazei de date. Ei își fac munca, se angajează în timp ce merg.

Odată ce au terminat totul în propriul lor spațiu personal, se loghează în serverul de integrare și verifică ramura lor, își execută testele etc. Când tot ce trece ramura lor este fuzionată în Trunk.

Trunchiul este reconstruit, se execută întreaga serie de teste, iar dacă totul este bun, el primește ștampila de omologare mare, etichetat în SVN și promovat la producție la sfârșitul nopții.

Dacă în orice moment se face o comitere de către altcineva, primim un e-mail și putem îmbina aceste modificări în sucursalele noastre individuale.

0
adăugat

O modalitate de a utiliza subversiunea pentru dezvoltarea PHP este prea configurarea unui depozit pentru unul sau toți cei trei dezvoltatori și folosiți acest depozit, mai mult ca un instrument de sincronizare, decât controlul versiunii adevărate.

Ai putea,

  • Efectuați un repo

  • Adăugați întreaga structură de document PHP a proiectului dvs.

  • Verificați o copie a acestui repo în locația corectă de pe serverul dvs. dev

  • Utilizați un cârlig svn, care se activează pe comitere

Acest cârlig va actualiza automat conținutul programului dev sever, ori de câte ori cineva din echipă verifică în orice cod.

Cârligul se află în:

svn_dir / repo_name / cârlige / post-comite

Ar putea să arate:

/ usr / bin / svn sus / path_to / webroot - numele de utilizator svn_user --password svn_pass

Acesta va actualiza copia de lucru pe serverul dev la cel mai recent check-in.

0
adăugat

Am fost într-o situație similară și iată ce am făcut:

  • Creați două ramuri - ramura de lansare și dezvoltare.
  • Pentru ramura de dezvoltare, includeți un cârlig post-comitet care pune în depozit serverul dev, astfel încât să puteți testa.
  • Odată ce sunteți gata, îmbinați modificările în ramura de lansare. Aș sugera, de asemenea, introducerea unui cârlig post-comitet pentru desfășurarea acestuia.

De asemenea, puteți configura servere individuale de dezvoltare pentru fiecare membru al echipei, pe stațiile de lucru. Am descoperit că accelerează puțin lucrurile, deși aveți mai mult timp de configurare.

A trebuit să folosim un singur server de dezvoltare, deoarece folosim un CMS proprietate și ne-am ocupat de probleme de licențiere. Deci, cârligul nostru post-commit a fost un simplu bot FTP.

0
adăugat

Un alt instrument pe care îl puteți utiliza pentru TeamCity care este gratuit pentru 20 de configurații de construcție (suficient pentru majoritatea companii mici / proiecte.) În acest fel puteți să vă executați testele și să construiți programe.

0
adăugat

Beanstalk has built-in post-commit hooks for deploying to development, staging, and production servers.

0
adăugat

Dar ceva distribuit? Puteți începe, de exemplu, cu Mercurial, încercați diferite fluxuri de lucru și vedeți care dintre ele vi se potrivește cel mai bine.

0
adăugat
PHP România, Moldova
PHP România, Moldova
173 participanți

Vorbim despre Yii, Laravel, Symphony, MySQL, PgSQL, WP, OpenCart... Pentru confort, opriți notificările. Parteneri: https://ciupacabra.com @js_ro @node_ro @python_ro @seo_ro @Romania_Bot Offtop: @holywars_ro Joburi: @php_job @Grupuri_IT