În articolul precedent, am scris despre cum am preluat serverul SVN (Subversion), cât de mult mai convenabil a fost să dezvolți proiecte web! Dar, sincer, câteva lucruri au ajuns la subiect. Acum i-am hotărât, așa că vreau să împărtășesc informațiile, poate că cineva va avea nevoie:
Problemele care m-au compostat înainte:
- Nu este clar cum să încărcați modificările în directorul de date al serverului web;
- A trebuit să-mi sparg parola SSH cu fiecare program de întreținere;
- A fost necesară actualizarea manuală a directorului de date al serverului web (subsecțiunea 1);
Deci, cum am depășit aceste probleme:
Ciudat, cum pare, nu a fost dificil să încărcați modificări în directorul serverului web, utilizând actualizarea. Crearea unui script cu o singură comandă:
svn actualizare / var / svn / repository_name / var / www / path
și a făcut-o executabilă:
# chmod u + x svn_up.sh
Nu e rău. Doar aici se solicită parola. Nu înțeleg de ce, ca un depozit local. Da, și proprietarul rădăcină fișiere. Finalizat comanda script
chown -R www-data: www-data / var / www / calea
Acum pentru partea de parolă. Referindu-se la articolul anterior și Genera o pereche de chei (cu o gazdă locală pe Windows folosind utilități PuTTYgen.exe și la nivel local pe server (cum se face autentificarea pe cheia ssh). Adăugați aceste chei în fișierul authorized_keys al serverului dvs. ssh utilizator.
Acum trebuie să completați comitetele de la gazda Windows (clientul TurtoiseSVN) și să nu primiți fereastra de solicitare a parolei enervante - trebuie să modificați ușor opțiunile:
Alegeți un fișier executabil TurtoisePlink.exe ca SSH-client (din catalog), el arată opțiunea -l nume de utilizator și -i - cheia privata, generata in PuTTYgen.exe (l-am stocat pe unitatea protejată)
Ultima problemă rămâne. După efectuarea comiterii, fișierele sunt încărcate în depozit, dar nu în directorul serverului web. Trebuie să ridice actualizarea de acolo. Puteți să-l agățați în coroane, dar pentru a nu trage planificatorul în fiecare minut, am decis să ridic SVN și să găsesc un lucru interesant - cârlige! Cârligele sunt un fel de întrerupere. Ele sunt în directorul / var / svn / repo_name / hooks - de fapt, există scripturi obișnuite care rulează la momente diferite.
Luați fișierul post-commit.tmpl și redenumiți-l doar la post-comitere (executat după comitere). Să schimbăm conținutul fișierului în conținutul nostru, pe care l-am actualizat manual.
Acum, cu fiecare comitere, acest script va fi numit, care varsă din depozit versiunea modificată a fișierelor în directorul serverului web, modifică drepturile de acces! Totul este rece.