foxsk8 Posted January 10, 2014 Report Share Posted January 10, 2014 Labdien, tautieši. Tā kā man sāk pamazām apnikt klasiskais FTP lietojums, ka katru reizi kaut kas jāsūta augšā, jāmaina izmaiņas, FTP visu laiku tiek noslogots, mūžīgi jāatcerās visādi FTP logini, passi, utt.. Sāk man ļoti apnikt. Darbos esmu izmantojis SVN, GIT repus, kontroles un ne par ko nevaru sūdzēties, var izmantot jebkur, var sinhronizēt, ērti uzstādīt, utt.. Problēma sākas tur, ka vienmēr šos gitus, svnus ir konfigurējuši servera cilvēki, bet šoreiz man ir pagadījies tāds gadījums, ka itkā uz serveri git ir, bet tālāk neko negrib saslēgt, salikt un ar FTP visu laiku up, down, negribu strādāt. Izmantoju gan TortoiseSVN, gan TortoiseGit. Lokāli visus repus sanāk izveidot, atjaunot, pušot, veidot commitus, utt... gan ar vienu gan ar otru, sanāk arī visi github, bitbucket utt... Jautājums ir tāds, kā to vislabāk uzlikt uz serveri, lai es vienkāršā veidā, bez nekādām tur konsolēm, dos komandām, shh varētu ērtā veidā izveidot pullu uz serveri no git repa. Piem lapa.lv/auto/?atjaunot=fox Kur viņš "angļu mēlē ir deploy" tumša bilde, kas vispār tas pa vārdu ir :) uztaisa. Atradu šādu te skriptu, laybariju, kas to var izdarīt itkā: https://github.com/markomarkovic/simple-php-git-deploy Uztaisīju arī bitbucket.org kontu, un pēc pamācības saliku visus key, utt.. Uz lokālo mašinu sāka bļaut par not available. It needs to be installed on the server for this script to work. Cik noprotu, tad tas ir tas, ka uz lokālās kastes man nav git supporta, laiberija? Uz stulbās servera kastes vēl notestēt nevaru, jo kāds aka ir tik pat stulbs kā es, un nevar viņu sakonfigurēt līdz galam, lai varu tālāk darboties. Gribētu vienreiz šo izkost, lai būtu miers. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted January 11, 2014 Report Share Posted January 11, 2014 (edited) Ko tu te stāsti jopt. Pieslēdzies ar putty pie servera, ieinstalē git (ubuntu - sudo apt-get install git), cd /path/to/project/root, "git clone https://external.url/to/git/repo", pēcāk "git pull" lai apdeitotu. Tas ir ārkārtīgi elementāri. Un ja nu tev ir tik ārkārtīgs slinkums slēgties klāt, vari uzlikt web rootā php skriptu (ar atļauju tikai no tavas IP adreses vai user/pass), kas vnk izpilda lokāli "git pull" uz kaut kādiem predefined directories, arī elementāri. Edited January 11, 2014 by jurchiks Quote Link to comment Share on other sites More sharing options...
foxsk8 Posted January 11, 2014 Author Report Share Posted January 11, 2014 Jurčik: 1. Kārtām, es teicu, nekādas konsoles. 2. Kārtām, protams tas ir vienkārši ar komandrindām, putijiem, uttt.. 3. Kārtām, man ir tikai pliks FTP pieejams, un vairāk es tur neko nedabošu. 4. PHP skripts ir dabots un būs jātestē. Vispirms, tu kaut ko raksti sakarā ar "Ko tu te stāsti jopt." Izlasi visu līdz galam ko tēmas, topika autors grib pateikt, un jautā. Quote Link to comment Share on other sites More sharing options...
jurchiks Posted January 11, 2014 Report Share Posted January 11, 2014 Uz lokālo mašinu sāka bļaut par not available. It needs to be installed on the server for this script to work. Cik noprotu, tad tas ir tas, ka uz lokālās kastes man nav git supporta, laiberija? Uz windows nav pieejama komanda "which", bet ja tev ir linux, tad nav pieejama kāda no progas izmantotajām komandām (skaties skriptu, tur viss saprotams). Vai tad tiešām nevar izmantot ko citu, ja jau shell access nedod? Pasisti admini kaut kādi... Quote Link to comment Share on other sites More sharing options...
foxsk8 Posted January 12, 2014 Author Report Share Posted January 12, 2014 Tā ar to github skriptu viss sanāca, vienīgi bitbuckerī, privātam repam vajag ssh, bez tā nekur. Pubiskos repus veido, atjauno, viss kārtībā un tieši kā vēlējos. Atliek vien iegūt ssh, piekofot, un tad varēs mierīgi pēc url visu darīt. Quote Link to comment Share on other sites More sharing options...
Didulis Posted January 12, 2014 Report Share Posted January 12, 2014 Uzrakstīju garu apcerējumu un tad vēlreiz apskatījos rūpīgāk to skriptu. Sākumā padomāju, ka tas ir pliks deployment skripts, taču izrādās, ka tas prot drusku vairāk, tajā skaitā git clone. Bet īsos vilcienos es ieteiktu pieturēties pie plika deployment. Tālāk tas, ko es biju sākumā uzrakstījis. Tas skripts veic maģisko darbību "Deploy", kas nozīmē, ka uz servera tiek uzlikts tikai update, nevis initial version. Tādēļ pirmkārt uz servera obligāti ir jābūt uzinstallētam GIT klientam. Ja ir normāls hostings, tad to vienmēr var sarunāt. Otrkārt, tev uz servera vienmēr vajadzēs caur komandrindu izpildīt "git clone repo_url /webroot/folder/" Treškārt tev bitbucket`ā vajadzēs nokonfigurēt repozitorijam 2 lietas - 1) https://confluence.atlassian.com/display/BITBUCKET/Use+deployment+keys'>Deployment Key (iekopēt repozitorija settingos, servera komandrindā uzģenerēto, SSH public key). 2) url uz https://confluence.atlassian.com/display/BITBUCKET/POST+hook+management'>deployment skriptu (tas ir darāms repozitorija settingos zem Hooks -> Select a hook... -> POST -> Add Hook). Te vajag atcerēties, ka Bitbucket serveris izsauks šo skriptu, kad tu būsi izpildījis PUSH request, tādēļ ir jāgarantē, lai tava deplayment skripta URL būtu pieejams vismaz no Bitbucket IP adresēm, kuras viņi draņķi ik pa laikam pamainam. Pilnīgi bez komandrindas iztikt būs grūti. Ja tev atsakās dot SSH pieejas, bet ir gatavi uzinstallēt GIT klientu, tad pats vari mierīgi uzrakstīt PHP skriptu, kurš izsauc shell komandu - "git clone" (kā tikko atklāju, tad šis skripts to prot, bet tev uz servera obligāti vajag GIT klientu, kura atrašanās vieta ir norādīta webservera jūzera PATH mainīgajā, otrkārt tev obligāti vajag nokonfigurēt bitbucket deployment key). Pēc tam var mierīgi darbināt konkrēto deployment skriptu. Jebkurā gadījumā es ieteiktu skripta sākumā pievienot pārbaudi uz IP adresēm, lai laiž klāt tikai no bitbucket IP adresēm. Savādāk kāds trollis uzminēs tava skripta adresi un nepārtraukti liks tavam serverim izpildīt git pull. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 12, 2014 Report Share Posted January 12, 2014 Labam programmētājam no komandrindas nevajadzētu baidīties. Quote Link to comment Share on other sites More sharing options...
v3rb0 Posted January 12, 2014 Report Share Posted January 12, 2014 (edited) lūdzu nelietojiet git, git ir ļaunums (: Edited January 12, 2014 by v3rb0 Quote Link to comment Share on other sites More sharing options...
daGrevis Posted January 12, 2014 Report Share Posted January 12, 2014 Dat satire. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.