logo1398

با اعطای مدرک بین المللی سازمان فنی و حرفه ای

مرکز آموزش تخصصی و فوق تخصصی نصب و تعمیرات ماشین های اداری و سخت افزار کامپیوتر


ثبت نام  آنلاین    شهریه دوره ها 

چگونه از SVN برای به روز رساني يك وب سايت استفاده كنيم؟

احتمالا خيلي‌ها تصور مي‌كنند كه امكان پذير نيست؛ چون مخزن SVN موجود در سرور، ساختار خودش را دارد و همانند فايل‌هاي يك پروژه معمولي نگهداري نمي‌شود.
براي انجام اينكار چندين روش موجود است، كه تمام آن‌ها به مفهوم hooks در SVN گره خورده است. هرچند hook به معناي قلاب است، اما در اينجا معناي تريگر را دارد. شبيه به تريگرهاي SQL Server : پيش يا پس از انجام كار يا رخداد مشخصي، فلان كار را انجام بده. (براي اطلاعات بيشتر مي‌توانيد به فصل hooks در اين كتابچه مراجعه كنيد: (+))
در ميان اين قلاب‌هاي موجود، مي‌توان از قلاب post-commit جهت به روز رساني يك سايت پس از هر هماهنگ سازي با مخزن SVN استفاده كرد. پيشنهاد من به تمام كساني كه مي‌خواهند كار با SVN را شروع كنند استفاده از برنامه رايگان Visual SVN Server است. اين برنامه سازگاري فوق العاده‌اي با محيط ويندوز دارد (از لحاظ تعريف سطح دسترسي‌ها). همچنين تعريف hooks را هم به شدت ساده كرده است. فقط كافي است روي يك مخزن كد تعريف شده در Visual SVN Server كليك راست كرده و در برگه‌ي باز شده، تنظيمات سطوح دسترسي يا تعاريف Hooks را اضافه نمود (در اينجا اعمال سطوح دسترسي روي پوشه‌ها يا روي فايل‌ها نيز به همان شكل با كليك راست و كم و زياد كردن كاربران ميسر است؛ همانند دادن دسترسي بر اساس امكانات NTFS و اكتيودايركتوري).
بنابراين به صورت خلاصه:
فرض بر اين است كه مخزن كد SVN ايي را بر روي سرور راه اندازي كرده‌ايد. همچنين پوشه‌اي را كه مي‌خواهيد ريشه سايت باشد، مثلا در مسير دلخواه C:pathwww قرار دارد.
براي شروع كار، check out بايد صورت گيرد. يا مي‌توان از TortoiseSVN استفاده كرد يا چون مخزن كد در همان سرور است، دستور زير نيز كار مي‌كند:
svn checkout file:///c:/svn/MyRepository/trunk C:pathwww
سپس يك فايل bat بايد درست كنيد با محتواي زير:
svn update file:///c:/svn/MyRepository/trunk C:pathwww
اين فايل bat بايد در همان قسمت تعريف post-commit hook استفاده شود.
به اين معنا كه پس از هر commit ، لطفا مسير C:pathwww را بر اساس آخرين به روز رساني‌هاي مخزن كد به صورت خودكار به روز كن. در اين حالت اگر فايلي حذف شده باشد، به صورت خودكار از ريشه سايت شما حذف مي‌شود و اگر فايل يا فايل‌هايي تغيير كرده باشند نيز سريعا به روز رساني آن‌ها انجام خواهد شد.
در روش svn update ، پوشه‌هاي مخفي svn نيز در ريشه سايت حضور خواهند داشت. وجود آن‌ها هم الزامي است زيرا update بر همين اساس كار مي‌كند.
اگر مي‌خواهيد اين پوشه‌هاي مخفي وجود نداشته باشند از دستور svn export استفاده كنيد. فقط دقت كنيد كه در اين حالت اگر فايلي از مخزن كد حذف شده باشد، باز هم در ريشه سايت وجود خواهد داشت. راه حلي هم كه توصيه شده، اين است كه در همان bat فايلي كه درست مي‌كنيد ابتدا دستور حذف محتويات پوشه ريشه را صادر كنيد و بعد svn export . البته بديهي است اين روش نسبت به svn update كندتر است و svn update به شدت بهينه و سريع مي‌باشد.
يا راه ديگر بجاي حذف كردن پوشه موجود و بعد export به آن، استفاده از برنامه‌هايي مانند Robocopy است كه مي‌توانند عمليات همگام سازي را هم انجام دهند. در اين حالت محتواي فايل bat شما شبيه به دستورات زير خواهد شد:
svn checkout file:///c:/svn/MyRepository/trunk C:tempSite1 >> output.log
robocopy C:tempSite1 C:pathwww *.* /S /XF *.cs *.tmp *.sln *.csproj *.webinfo /XD .svn _svn /PURGE >> output.log به اين معنا كه پس از هر commit به مخزن كد (با توجه به تعريف قلاب ذكر شده)، ابتدا يك svn checkout در يك پوشه موقتي (خارج از ريشه اصلي سايت) انجام گرديده و سپس برنامه robocopy يا موارد مشابه آن وارد عمل شده و تغييرات را با ريشه اصلي هماهنگ مي‌كنند (در اينجا مي‌توان مشخص كرد چه فايل‌هايي با پسوندهاي مشخص، با ريشه سايت هماهنگ نشوند).
در كل همان روش svn update به نظر سريعتر و مقرون به صرفه‌تر است. اگر از IIS استفاده مي‌كنيد، به صورت پيش فرض كسي نمي‌تواند محتواي پوشه‌اي را با وارد كردن آدرس آن در مرورگر بررسي كند، همچنين IIS فايل‌هايي را كه نمي‌شناسد (پسوند از پيش تعريف شده‌اي در بانك اطلاعاتي آن ندارند)، سرو نمي‌كند و در صورت درخواست آن‌ها، خطاي 404 يا "پيدا نشد" به كاربر نهايي ارائه خواهد شد.

ستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعالستاره غیر فعال
 

دوره های آموزشی ما

اطلاعات تماس

آدرس : تهران - میدان ولی عصر - مرکز تجارت ایرانیان - طبقه نهم - واحد پنج

ساعت کاری شرکت : 9 صبح تا 8 شب
کلاس های روز جمعه ویژه کارمندان و دوره های فشرده دایر میباشد 

phone325 3

04 92 92 88 -021

05 92 92 88 -021

91 14 847- 0912

92 14 847- 0912 

 آموزش شارژ کارتریج, اموزش شارژ کارتریج, آموزش شارژ کارتریج لیزری, آموزش شارژ کارتریج جوهر افشان, آموزش شارژ, آموزش شارز پرینتر, آموزش شارژ سامسونگ, آموزش شارژ اچ پی, آموزش شارژ کاتریج, اموزش شارژ کاتریج, آموزش شارژ کارتریج, اموزش شارژ کارتریج, آموزش شارژ کردن کارتریج, آموزش شارژ کارتریژ, آموزش شارژ کارتریج لیزری, آموزش شارژ کارتریج جوهر افشان, آموزش شارژ کارتریج پرینتر, آموزش شارژ کارتریج لیزری , آموزش شارژ کاتریج , آموزش شارژکاتریژ , آموزش شارژ انواع کارتریج , آموزش تخصصی شارژ کارتریج,آموزش شارژ پرینتر , تونر,کارتریج لیزری, آموزش تعمیرات فتوکپی,اموزش تعمیرات چاپگر,آموزش تعمیرات پرینتر,اموزش تعمیرات پرینتر, آموزش تعمیرات دستگاه کپی شارپ,آموزش تعمیر کپی آنالوگ و دیجیتال,آموزش تعمیرات دستگاه کپی ریکو,آموزش تعمیرات کپی آفیشیو,آموزش تعمیرات آنالوگ و دیجیتال,آموزش تعمیرات دستگاه کپی توشیبا آنالوگ و دیجیتال,آموزش تعمیرات دستگاه کپی,آموزش تعمیر دستگاه کپی و فتوکپی,آموزش تعمیرات کپی رنگی, دوره آموزشی,آموزش تعمیرات,آموزش تعمیرات فنی,آموزش خدمات,آموزش تعمیر,اموزش تعمیر,دوره های آموزشی,فنی کار,امید,رحمانی,امید رحمانی,دوره اموزش,اموزشگاه فنی,فنی و حرفه ای, آموزش الکترونیک, دوره آموزش الکترونیک, آموزش الکترونیک, الکترونیک پایه, آموزش الکترونیک تخصصی, طراحی برد الکترونیک،آموزش طراحی برد, مهندسی معکوس, آموزش مهندسی معکوس, آموزش الکترونیک مخصوص بازارکار, آموزش الکترونیک اس ام دی, آموزش الکترونیک smd, آموزش نقشه خوانی, آموزش کار با هیتر, الکترونیک, برق, طراحی, مدار, ای وی ار, ال ای دی, ابزار دقیق, پی ال سی, plc, اینورتر, inverter, منبع تغذیه, سوئیچینگ, رله, خازن, ماژول, smd, led, طراحی برد صنعتی, پروژه دانشگاهی, دوره تخصصی آموزش نصب دوربین مدار بسته,آموزش نصب دوربین مداربسته, دوره آموزش نصب دوربین مدار بسته,آموزش نصب دوربین های مداربسته, آموزش تخصصی نصب دوربین مدار بسته,آموزش دوربین مداربسته,آموزشگاه,آموزش,نصب, آموزش تعمیر انواع دوربین های مدار بسته,آموزش تعمیرات دوربین های مدار بسته,قوی ترین مرکز آموزش تعمیرات دوربین مخفی,بهترین مرکز آموزش تعمیر دوربین مخفی در تهران,قدرتمندترین مرکز آموزش تعمیر دوربین های مدار بسته,آموزش تعمیر تخصصی دوربین های مدار بسته