3 viisi erektsioonihäirete raviks ilma ravimiteta

Olen koodi kasutamisel alati kasutanud väga lihtsat bashi skripti. Ma eemaldun allversiooni kasutamisest Mercurialile, kuid ma ei arva, et revisjoni juhtimistarkvara oleks juurutamisel oluline.

Millised on paremad viisid seda teha?

#!/bin/sh date=`date +%Y%m%d_%H%M%S` tar -zcvf app-dir-$date.tar.gz app/dir tar -zcvf app-templates-$date.tar.gz app/templates tar -zcvf app-media-$date.tar.gz app/media svn export http://example.com/somepath/trunk hh/ --force 

Kasutan Mercurialit kõige, sealhulgas ka staatiliste HTML-lehtede haldamiseks. See muudab elu minu jaoks tõesti väga lihtsaks.

Eelised hõlmavad

  • Kõik hüvede versiooni juhtimise pakkumised (tagasipöördumised, verstapostisildid jne)
  • Võimalus kiirustada oma saidi kloonimist
  • Teil on alati toimiv kohalik varukoopia / koopia
  • Lihtne sünkroonis hoida, kui kipute muudatusi tegema kohapeal (paigas, serveris)
  • Enamik jagatud hostidest (kui teil on sellega tegemist) ei pane selle installimist pahaks

Vastutusest loobumine, ma kirjutasin õpetuse. Jah, selline VCS, mida te kasutate, on teatud määral oluline. Näiteks ei kasutaks ma selles stsenaariumis midagi sellist, kus ma ei saaks kohapeal pühenduda ja teha ühe suure tõuke / värskenduse. See lihtsalt sunnib mind koondama liiga palju potentsiaalselt problemaatilisi muudatusi üheks kohustuseks.

Mina võiks tee seda Subversioniga ja ma ei koputa üldse SVN-i. Ma arvan lihtsalt, et Mercurial on palju parem vahend probleemile, mida proovite lahendada.

Minu arvates ei peaks te oma tööriistu ümber töötama, kui teil pole muud valikut. Nii tehes lüüakse nende omamise eesmärk ära ja teil on valida :)

  • Kui otsustate juurutamiseks kasutada elavhõbedat, vaadake ka veebisaite webmasters.stackexchange.com/questions/262/….
  • 1 Peaaegu unustasin ... +1 Mercurial järkjärgulise kasutuselevõtu jaoks on kindlasti õige tee.
  • See on suurepärane idee, ei tea, miks ma seda varem kaalunud pole.

Lisaks suurepärastele soovitustele teistes vastustes võiksite kaaluda, kas teie jaoks on oluline teha aatomivärskendus.

Oma FreeBSD serveris teen seda kahe mehhanismi abil:

  • Kõigi minu staatiliste ressursside versioonimine. (Nt. http://static.example.com/images/logo.1.png või http://static.example.com/style/main.3.css ). See võimaldab mul seda teha svn update staatiline sait vahetult enne dünaamilise saidi värskendamist, muretsemata selle pärast, et kasutajad näevad vanadel lehtedel uusi faile.

  • Kogu dünaamilise veebisaidi versioonimine. Minu puhul on minu dokumendi juur osutatud sümboolsele lingile. Minu strateegia on saada tootmise uus versioon paika ja lükata see ühe käskluse abil otseülekandesse. .g. midagi sellist:

    cp -Rp www.site1.com.1 www.site1.com.2 (või svn checkout)

    svn update site1.com.2 (võib vajada svn switch esimene)

    ln -sf site1.com.2 www.site1.com (aatomiliselt viia muudatused tootmisse)

See tagab, et ükski minu kasutajatest ei vaata pooleldi küpsetatud lehte. Nad näevad kas vana versiooni, kui see on ikka veel vahemälus, või uut.

See strateegia töötab hästi ainult siis, kui te ei sega kasutaja üleslaaditud sisu oma dünaamilise saidiga.

Me kasutame sipelga scp ülesannet koos muudetud valijaga. See tähendab, et värskendate lihtsalt faile, mis on pärast eelmist üleslaadimist muutunud. Kahjuks näib, et muudetud valija on mõeldud ainult isiklikuks kasutamiseks, mitte meeskonna liikmetega jagamiseks. The cache.properties failil on kasutaja töökataloogi asukohanimed. Kirjutasime hulga sipelgaobjekte, et neid masseerida cache.properties fail vormingus, mida saab arendajate vahel jagada ja seejärel masseerida tagasi sipelga jaoks vajalikku vormingusse. Vorming varieerub ka Windowsi keskkonna ja GNU / Linuxi keskkonna vahel.

Kas pole versioonihalduse kasutamise mõte, et enne värskenduse väljatõmbamist ei pea sa saidi varundamisega tegelema?

Kui see on õigesti tehtud, svn update (või samaväärne) peaks olema piisav ja kui see on viga, siis lükake see tagasi eelmise kohustuse juurde? Seda me ikkagi teeme. Tehke kõik muudatused, svn update lavastusserver, kui see kõik on korras svn update reaalajas server.

none: Charles Robertson | none