windows - ASP.NET Web site projekter, Mercurial/Git, implementering - en enkel måde?

Indlæg af Hanne Mølgaard Plasc

Problem



Vi har et lille team af to udviklere (pc) og to designere (Mac). Da vi er 'et reklamebureau' snarere end en kodebutik, kan vi ikke bruge meget på softwareværktøjer. Vi plejede at bruge Visual Studio for mange år siden, men nu bruger vi Visual Web Developer til at oprette ASP.NET sites (.NET4 support - kan ikke give os nye VS licenser). Vi opretter websteder som Web Site-projekter (i stedet for Web Apps, eller MVC) og vi kører på en dedikeret dev box (Win 2008 rc2 server).


TortoiseHg er den seneste jeg har spillet med og forskellen mellem Hg og Git er ubetydelig i betragtning af vores behov. Så vi kan køre med enten.


Det jeg forsøger at gøre er at finde en forholdsvis enkel måde at implementere websteder/forpligtelser på ved hjælp af frit tilgængelige værktøjer/tjenester, der fungerer godt med den teknologi/software, vi bruger.


Jeg har ikke noget imod, at det er muligt at oprette løsningen, hvis den kan installeres en gang om på en af ​​vores server, men kan installere til flere steder. Jeg har set og CI-server (Jenkins/Hudson), men de synes at være overkill for hvad vi har brug for. Har vi brug for en build server til 50 off websider og tilhørende aktiver?


Jeg prøvede opsætningen af ​​Mercurial HgWebDir - for mange potentielle problemer med Hg/Python-versioner og opsætningen er for lang per produktionsserver. Jeg måtte downloade kilden, foretage en ændring og genopbygge den ... OTT. Git ser ud til at fungere bedst med SSH, igen, mere 3. parts ting.


Er der nogen Windows-baseret software, som vi kan installere på produktionsserveren eller på en central server, der vil hjælpe med simpel implementering (dvs. kopiere seneste ændringer til hjemmesider og rollback), der ikke koster jorden (helst gratis) og gør ikke ' t stole på at få de rigtige versioner af dette og at arbejde korrekt.

Bedste reference


Lad os forestille os, at du har valgt AppHarbor til din. NET hosting. [4]


De giver dig et GIT-depot, hvor du kan have din kildekode, og på hver push til appharbor vil de automatisk opbygge din løsning og gøre den tilgængelig online.


Med dette i tankerne kan du få en branch til at være din produktion og alt andet for at hjælpe og blive brugt til at være vært for kildekode og hjælpefiler for eksempel.


Hvis du vælger et hostingfirma, der kun leverer en FTP upload-funktion, bruger du enten et automatisk script til at offentliggøre dataene fra din commit (ved hjælp af webhooks kan du nemt afbrænde et web script, der vil afhente ændringerne (eller hele repo ) og publicere på internettet).


Uanset hvad det er godt, er det altid op til dig, hvad er du villig til at prøve, og fortsæt med at prøve alternativer, indtil alle er tilfredse med resultatet.


Med dette kan du simpelthen bruge Visual Studio og Tortoise GIT eller endda installere GIT Extension i Visual Studio og brug ikke mere software ... [5]



  Brug af Git med Visual Studio


Andre referencer 1


Hvis implementering af websteder til dig er 'kopiere filer fra A til B' (ingen relateret build-proces), kan du prøve mindst to metoder, både antager tilstedeværelsen af ​​fungerende http-server på 'andre 'side



  1. Eksporter fra lager til unversioned tree, fuld oprydning af webrum, kopier nye filer til websted

    • Lys-version af denne løsning: Eksporten er kun påvirket af ændringer-interval-filer og kopieres over gamle versioner


  2. Site-pladsen er en del af en arbejdskopi (jeg foretrækker at se repo uden for web-roden), opdatering af arbejdskopi (hent fra somerepo ) opdateringsfiler på webstedet



Kun VCS + FTP | SCP |? klienter brugt

Andre referencer 2


Har du overvejet at bruge WebMatrix til udvikling? Det hjælper med at strømline processen for små websteder, som du beskriver. [7]


CI er stadig nyttigt til små projekter, især hvis du bruger enhedsprøver. Brug af Hudson i små hold [8]


Du skal kunne bruge git til at distribuere til din server og rollback ganske let. Du kan oprette et bare git repository på din server og derefter bruge post-receive git hook til automatisk at implementere ændringerne. Så når du skubber ændringer til oprindelse fra dit lokale lager, opdateres hjemmesiden.