Autor Zpráva
KarelVon
Profil *
Ahoj lidi,
ať to zní jakkoliv, doposavad jsem při změně zdrojáku posílal celý projekt přez ftp na ostrý server. Věděl jsem, že je to na levačku, ale neodhodlal jsem se k subversion, jlk jsem nepochopil jak udělat na ostrým svn. Ve firmě jsem měl jen práva na import a změny ve zdrojáku, jenže tam již nepracuji a já potřebuji radu.

1. Potřebuji si na localhostu u sebe v notesu udělat subversion, abych přesně věděl, v jakých souborech jsem to a to udělal.
- řístup bych měl mít asi jen já, takže by asi stačil file://repository ??? nebo svn:// ??
- používám netbeans a ten má plugin na subversion starý a proto jsem nainstaloval subversion aktualizované.
Je to zatím ok?

2. asi se shodneme v tom, že se na projektu nejdříve pracuje u sebe na localhostu a když jsou změny ok, pošle se na ostrý server.
Jenže tady vidím zatím hlavní bod, se kterým si nevím rady. Jak vytvořit repozotory na ostrém serveru? Četl jsem nějaké články, ale montovat se do apache by se hostingu nejspíše nelíbilo.
přístup bych viděl na ověřené https://exaple.com/svn/ nebo https://example.com/projekt1/svn/ , ale jak toho docílit už opravdu nevím, ale opravdu už nevím jak dál.

Děkuji za rady. Příspěvek jsem záměrně dal do této sekce, jelikož vytvřžení repozitáře a ještě serveru mimo muj pc jsem opravdu začátečník.
karel_
Profil *
nedávno se řešilo
- zkoušel jsem taky, pouze jsem nerozchodil na ftp práva pro zápis, tj nešlo vytvořit repository na FTP
související článek s přínosnými komentáři


stručné řešení:
- namapovat ftp jako lokální jednotku, třeba pomocí NetDrive, viz Using Subversion with FTP
-
Jan Tvrdík
Profil
KarelVon:
Je potřeba rozlišit dvě věci, které ty slučuješ v podstatě do jedné.
1. Systém pro správu verzí (např. SVN nebo Git) slouží k uchování historie, což umožňuje mimo jiné zpětně určit provedené změny.
2. Deployment je proces, jak přenést to, co jsi naprogramoval na localhostu, na ostrý server.

Použití systému pro správu verzí může pomoci s deploymentem, ale nevyřeší ho sám o sobě. Tvoje představa (alespoň tak, jak jsem ji pochopil) o fungování deploymentu se bohužel neshoduje s realitou. Pokud nemáš právo konfigurovat server, tak na něm repozitář (tak, abys do něj mohl commitovat) nijak nevytvoříš. Namapování FTP na lokální jednotku je sice koncepčně špatně, ale jedná se pravděpodobně o nejsnadnější řešení, jak dosáhnou toho, co potřebuješ.
KarelVon
Profil *
Jan Tvrdík:
Jsou 2 možnosti mé práce, jen na ujasnění:
1/ Na localhostu dělám na úplně novém projektu, který na něm vytvořím a občas upravuji. K tomu je versioning jako dělaný. Samozřejmě že pak web chci dát na server (nemyslím tím apache localhost, ale na ostrý server, ... třeba zákazníkův) a tam s apachem příliš machnit nemůžu.

2/ od dodavatele dostanu přístup na FTP a mám za úkol něco upravit, případně upravovat více věcí, na které se versioning také velmi hodi. Jenže jak to udělat? Proto se prám. Psát si na papír názvy změněných souborů, které pak ze svého localhostu (byť projektu versovaného) mi přijde také otročina.

3/ v podstatě jako bod 1 s tím rozdílem, že je to vlastní projekt a můj zaplacený hosting. Tam si snad versování přímo na ostrém mohu snad zřídit ne?

Nebo jak to děláte Vy???

díky karel_, nic jsem o NetDrive neslyšel. Možní zkusím ...

Děkuji všem zůčastněným v diskuzi. Považuji to za poměrně důležitou věc, kterou potřebuji mít vyřešenou.
TomášK
Profil
Jak píše Jan Tvrdík, jde o to oddělit Systém pro správu verzí a deployment. Deployment by měl být natolik flexibilní, aby nezáleželo na tom, kde se repository nachází - pokud bude na produkčním serveru, vytvoří ostrou verzi přímo, pokud bude repository na localhostu, pak ho zkopíruje třeba přes ftp. Repository může být i na jiném serveru než produkční web a úkolem deploymentu je, aby vytvořil ostrou verzi webu.

Používám git (Správa verzí) a capistrano (Deployment). Mám repository jak na localhostu, tak na produkčním serveru. Na localhostu upravím kódy a otestuju, přidám do lokálního repository. Poté řeknu deploy a skript synchronizuje lokální a vzdálené repository, aktualizuje checkout na produkčním serveru, vytvoří kopii onoho checkoutu, do které případně dokopíruje konfigurační skripty a přepne produkční server na tuto kopii. Starou verzi webu nesmazal, tedy pokud zjistím, že se něco nepovedlo, přepnu web zpět na starou verzi (změnou symlinku). Nejsem si jist, jak moc jsem srozumitelný, doufám, že ano :-)

Pokud bych neměl možnost mít na serveru repository, tak ho umístím na jiný server (kvůli zálohování, abych neměl vše jen doma) a deployment skript nastavím tak, aby to kopíroval ze vzdáleného repository.
Honza Tvrdík
Profil *
Ještě doplním pár informací. Nejrozšířenější systém pro správu verzí je dnes pravděpodobně SVN, ze kterého spousta firem i vývojářů přechází to kvalitnější Git. Pokud máš možnost také přejít, tak to doporučuji udělat co nejdřív. Pokud to neuděláš teď, tak k tomu pravděpodobně stejně dospěješ později.

Z programů, které řeší deployment webových aplikací, znám akorát již zmíněné Capistrano. Kromě toho společnost Clevis s. r. o. připravuje aplikaci Deployan, což by mělo být extrémně jednoduché řešení pro kombinaci Git a FTP.

Kromě hotových aplikací si můžeš v případě existence SSH přístupu napsat shellový skript, což bude dnes možná i nejpoužívanější řešení.

Ad zřízení repositáře na hostingu: Počítej s tím, že na většině hostingů to není možné. Existují ale i hostingy, které hostování repositáře umožňují (musí to být explicitně uvedeno).

Možná tě to překvapí, ale většina běžných vývojářů (dle mých informací) tohle neřeší a deployment řeší překopírováním všech souborů dané aplikace přes FTP.
KarelVon
Profil *
Děkuji Vám, velice zajímavé informace.

Je pravda, že se o Gitu píše docela hodně a často. Když už jsem kdys pronikl do SVN, které navíc Netbeans pěkně podporuje a konečně se dokopal ke zřízení vlastní local repository, nechce se mi to měnit. Byť je možná neuvěřitelné, zprovozněním loc repo jsem strávil opravdu dost času, a proto se mi nechce pronikat do Gitu a zahodit tím ztrávený čas. Věřím tomu, že se Git rozmáhá, ale zatím mi SVN stačí.

Možnosti mít repo na jiném serveru mě nenapadla, škoda, že ten server SVN také nemá :(

Deployment - pro mě dosuď neznáme slovo je zajímavé. O jeho vlastnosti mi vlastně jde.

Ot: Jak je možné, že bývalý zaměstnavatel měl na hostingu mořnost mít SVN? https://svn.fň.bž?

Moderátor Petr ZZZ: Podobný pozdější dotaz: SVN subversion - instalace na localhostu a ostré verzi (II)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0