آموزش Team Foundation Server (بخش سوم)

آموزش Team Foundation Server (بخش سوم)

بسم الله الرحمن الرحیم

 

آموزش Team Foundation

بخش اول معرفی TFS

(بخش دوم) نصب و راه اندازی TFS

(بخش سوم) ایجاد یک پروژه بر روی TFS

 

در بخش های قبل در مورد Online Repository ها صحبت کردیم و نحوه ایجاد یک Team Foundation را بر روی TFS Cloud Repository را بررسی کردیم.

در این بخش قصد داریم تا یک پروژه را بر روی Team Foundation قرار دهیم، اما قبل از شروع بهتر است چند نکته را بررسی کنیم.

ابزارهایی که کد برنامه شما را نگه داری می کنند معمولا امکانات زیادی را ارائه می دهند که این امکانات باعث می شود شما یک ابزار انتخاب کنید. در این جا برخی از ویژگی های مشترک ابزارهای مختلف source control مانند Team Foundation که در حال آموزش آن هستیم را بررسی می کنیم.

 

توضیح ام را باید یک مثال بیان می کنم. فکر کنید قرار است شما یک برنامه را برای فردی بنویسید، مثلا وب سایت ساده که تعدادی افراد را ثبت نام می کند و به شما یک گزارش ساده می دهد. شما با مشتری خود توافق می کنید و کار را آغاز می کنید.  در ابتدا یک Template برای مشتری طراحی می کنید و طبیعتا مشتری پس از مشاهده Template طراحی شده از شما می خواهد بخش هایی از آن را تغییر دهید.

این تغییرات به صورت مورد به مورد با مشتری بررسی و اعمال می شود تا در نهایت بخش طراحی Template به پایان می رسد.

تصور کنید نیاز پیدا می کنید تا کدها و اطلاعاتی را که در طراحی Template انجام داده اید مجددا استفاده کنید. مثلا صفحه لاگین شما ویژگی هایی داشته که بعد از تعامل با مشتری تغییر داده شده اما اکنون مجددا به هر دلیلی ( تغییر نظر مشتری، نیاز پروژه، استفاده برای پروژه دیگر و...) نیاز به کدهای قبلی خود دارید.

اگر خیلی با تجربه باشید هر چند ساعت یک بار مثل تصویر زیر از فایل های خود یک backup به صورت فایل ZIP ایجاد می کنید (روش زمان دایناسورها)!

 

آموزش فارسی team foundation server

 

 

 

 

بسم الله الرحمن الرحیم

 

آموزش Team Foundation

بخش اول معرفی TFS

(بخش دوم) نصب و راه اندازی TFS

(بخش سوم) ایجاد یک پروژه بر روی TFS

 

در بخش های قبل در مورد Online Repository ها صحبت کردیم و نحوه ایجاد یک Team Foundation را بر روی TFS Cloud Repository را بررسی کردیم.

در این بخش قصد داریم تا یک پروژه را بر روی Team Foundation قرار دهیم، اما قبل از شروع بهتر است چند نکته را بررسی کنیم.

ابزارهایی که کد برنامه شما را نگه داری می کنند معمولا امکانات زیادی را ارائه می دهند که این امکانات باعث می شود شما یک ابزار انتخاب کنید. در این جا برخی از ویژگی های مشترک ابزارهای مختلف source control مانند Team Foundation که در حال آموزش آن هستیم را بررسی می کنیم.

 

توضیح ام را باید یک مثال بیان می کنم. فکر کنید قرار است شما یک برنامه را برای فردی بنویسید، مثلا وب سایت ساده که تعدادی افراد را ثبت نام می کند و به شما یک گزارش ساده می دهد. شما با مشتری خود توافق می کنید و کار را آغاز می کنید.  در ابتدا یک Template برای مشتری طراحی می کنید و طبیعتا مشتری پس از مشاهده Template طراحی شده از شما می خواهد بخش هایی از آن را تغییر دهید.

این تغییرات به صورت مورد به مورد با مشتری بررسی و اعمال می شود تا در نهایت بخش طراحی Template به پایان می رسد.

تصور کنید نیاز پیدا می کنید تا کدها و اطلاعاتی را که در طراحی Template انجام داده اید مجددا استفاده کنید. مثلا صفحه لاگین شما ویژگی هایی داشته که بعد از تعامل با مشتری تغییر داده شده اما اکنون مجددا به هر دلیلی ( تغییر نظر مشتری، نیاز پروژه، استفاده برای پروژه دیگر و...) نیاز به کدهای قبلی خود دارید.

اگر خیلی با تجربه باشید هر چند ساعت یک بار مثل تصویر زیر از فایل های خود یک backup به صورت فایل ZIP ایجاد می کنید (روش زمان دایناسورها)!

 

آموزش فارسی team foundation server

 

در این حالت شما اطلاعات را دارید اما نمی دانید از کدام نسخه باید اطلاعات قبلی خود را بیرون بیاورید و همچنین نمی توانید بفهمید در نسخه ای که شما نیاز دارید چه تغییرات دیگری در کدها وجود دارد.

یکی از امکانات ساده source control مانند Team Foundation این است که سوابق تغییرات را با دریافت یک متن توضیحات برای شما نگه داری می می کند شما می توانید خیلی ساده با استفاده از ابزار دیگری تفاوت های دو نسخه را بررسی کنید و دقیقا خط و کدهایی که تغییر کرده اند را مشاهده کنید.

 

آموزش فارسی team foundation server

 

آموزش فارسی team foundation server

 

آموزش فارسی team foundation server

 

 

تصور کنید میخواهید به صورت گروهی کار کنید (بیش از یک نفر بر روی یک پروژه) طبیعتا باید یک نسخه از پروژه در جایی وجود داشته باشد که افراد بتوانند تغییرات خود را بر روی آن ثبت کنند و دیگران در بازه های زمانی متفاوت وابسته به نیازشان، آخرین نسخه پروژه را دریافت کنند.

در روش سنتی و بدون استفاده از source control اگر بخواهید بر روی یک پروژه را به صورت تیمی کار کنید، می بایست یک نفر تمامی پروژه ها را از افراد مختلف در بازه های زمانی مختلف دریافت کند و سپس آن ها را با هم ادغام کند که در این شرایط معمولا کدهای افراد متفاوت بر روی یکدیگر تاثیر می گذارد و نیاز به بازنویسی و تغییرات دارد.

با استفاده از source control مانند Team Foundationشما می توانید با هر تغییر ساده کدهای خود را برروی سرور ارسال کنید که طبیعتا هر تغییر کد نویسی نهایتا چند کیلوبایت بیشتر نخواهد بود. در صورتی که تغییرات شما با تغییرات قبلی ارسال شده از سوی دیگر برنامه نویسان conflict (تضاد، کدهایی که باعث ایجا اختلال در کار یکدیگر می شوند) داشته باشد، Team Foundationبه شما پیام می دهد که در بخش X کد شما با برنامه نویس Y مشکل ساز می شود و شما به سادگی می توانید مشکل را بررسی و رفع نمایید.

فکر می کنم برای داشتن دانش در مورد فواید source control ها تا همین جا کافی باشد و بهتر است ساخت یک پروژه را بر روی Team Foundation آغاز کنیم.

 

آموزش ساخت پروژه در Team Foundation

شروع کار با TFS

 

در ابتدا Visual Studio را باز کنید

 

آموزش TFS

 

یک Team Project را انتخاب نمایید

 

آموزش TFS

 

آموزش TFS

 

با استفاده از حساب کاربری که در جلسه قبل ایجاد کردیم، به TFS متصل می شویم

 

آموزش team foundation server

 

آموزش team foundation server

 

 

 

آموزش team foundation server

 

 

آموزش فارسی team foundation server

 

حال می بایست یک مسیر را در کامپیوتر خود با TFS Directory مرتبط (Map) کنید

 

آموزش فارسی team foundation server

 

 

آموزش فارسی team foundation server

 

 

آموزش team foundation server

 

آموزش team foundation server

 

آموزش TFS

 

 

حال فایل های خود را به Team Project اضافه کنید

 

 

 

آموزش TFS

 

 

آموزش TFS

 

 

 

آموزش TFS

 

آموزش TFS

 

CheckIn

به ارسال اطلاعات از کامپیوترهای برنامه نویسان به سمت سرور Repository در اصطلاح CheckIn گفته می شود.

اطلاعات را بر روی سرور TFS ثبت (Check in) می کنیم.

 

آموزش TFS

 

 

آموزش TFS

 

 

آموزش TFS

 

 

پیام موفقیت آمیز بودن Check in

 

آموزش TFS

 

 

 

آموزش TFS

 

 

 

بررسی تغییرات ثبت شده در Online TFS Repository

 

آموزش team foundation server

 

بررسی تغییرات دریافت شده از روی TFS بر روی کامپیوتر ما

 

 

آموزش team foundation server

 

 

 

از امروز سعی کنید پروژه های خود را بر روی یک Repository مانند TFS قرار دهید و بعد از هر تغییر کافی است که فایل های خود را بر روی سرور Commit کنید.

 

Commit

Check in به معنی ارسال فایل ها بر روی سرور است و Commit به معنای applay کردن تغییرات اعمال شده بر روی فایل ها می باشد.

 

Check out

Check out به معنای دریافت تغییرات فایل ها از روی سرور Repository است. در این دستور در واقع شما تغییرات دیگران را دریافت می کنید.

 

انشالله که این آموزش مفید واقع شود.

موفق باشید.

 

نظرات

  • Hannah Martinez
    علی میلادیان
    دو شنبه 11 دی 1278 - 0:00

    سلام آقای شیدایی/ واقعا ممنونم از این همه زحمت

    2 تا سوال دارم : 1- من هر چی نگاه می کنم Commit  را پیدا نمی کنم کجاست ؟ 2-وقتی یکی از اعضا تیم تغیری را اعمال کرد این تغیر به صورت اتوماتیک به برنامه من اعمال نمیشه ؟

    ممنون از راهنمایی های با ارزش شما /

    • Judith Bell
      پاسخ
      اسماعیلشیدایی
      دو شنبه 11 دی 1278 - 0:00

      با عرض سلام

      اگر از بخش Team Foundation Server نمی توانید کارخود را به درستی انجام دهید پیشنهاد می کنم از ابزار TFS Power Tools استفاده کنید. این ابزار به شما اجازه می دهد در محیط ویندوز فایل های خود را Commit,Update,... کنید
       لینک دانلود این ابزار:
      https://www.microsoft.com/en-us/download/details.aspx?id=15836

      موفق باشید
      یاعلی

  • Hannah Martinez
    داناییدانایی
    دو شنبه 11 دی 1278 - 0:00

    سلام در tfs می خواهم یکی از اعضای تیم اصلا نتواند pending chenge کند و کد ها رو فقط بتونه برای مدیر تیم بفرسته و مدیر این تغییرات و رو بررسی کنه و بفرسته برای سرور.

    میشه این کارو کرد؟

    • Judith Bell
      پاسخ
      اسماعیلشیدایی
      دو شنبه 11 دی 1278 - 0:00

      با عرض سلام

      يكي از راه ها اين است كه دو تا Branch داشته باشيد و افراد روي نسخه ي غير اصلي اطلاعات را بفرستند و سپس در صورت تاييد بر روي نسخه ي اصلي انتقال داده شوند.

      يك راه ديگر اين است كه شما به افراد مورد نظر خود فقط دسترسي Shelve را بدهيد و دسترسي Check-In را برداريد. در اين صورت افراد مي توانند اطلاعات به سرور ارسال كنند اما اگر اطلاعات مورد تاييد بود به پروژه اضافه مي شود در غير اين صورت مي شود Revert نمود.

      موفق باشيد

  • Hannah Martinez
    داناییدانایی
    دو شنبه 11 دی 1278 - 0:00

    يكي از راه ها اين است كه دو تا Branch داشته باشيد و افراد روي نسخه ي غير اصلي اطلاعات را بفرستند و سپس در صورت تاييد بر روي نسخه ي اصلي انتقال داده شوند.......

    ببخشید در مقاله ای در رابطه با این جمله مثالی هست؟

    • Judith Bell
      پاسخ
      اسماعیلشیدایی
      دو شنبه 11 دی 1278 - 0:00

      سلام دوست عزيز

      خير، اما در زمان تعريف كاربران مي توانيد در سايت Visual Studio  اين دسترسي ها را تعيين كنيد.

       

  • Hannah Martinez
    داناییدانایی
    دو شنبه 11 دی 1278 - 0:00

    << يك راه ديگر اين است كه شما به افراد مورد نظر خود فقط دسترسي Shelve را بدهيد و دسترسي Check-In را برداريد. در اين صورت افراد مي توانند اطلاعات به سرور ارسال كنند اما اگر اطلاعات مورد تاييد بود به پروژه اضافه مي شود در غير اين صورت مي شود Revert نمود. >>

     

    سلام ببخشید امکانش هست راهنمایی کنید این کارو چه طور میشه کرد؟

  • Hannah Martinez
    داناییدانایی
    دو شنبه 11 دی 1278 - 0:00

    ببخشید در ادامه سوالم چیزی که من می خوام تنظیم permition به صورتی که How to allow shelving but not checking-in?

  • Hannah Martinez
    اسماعیلشیدایی
    دو شنبه 11 دی 1278 - 0:00

    سلام و عرض ادب خدمت شما 

    در آدرس زیر می توانید دسترسی های لازم را برای اعطای مجوزهای مختلف مشاهده کنید.

    اگر CTRL+F  یا Find مرورگرتان را باز کنید و عبارت shelve را چستجو کنید نحوه ی اعطای این مجوز را خواهید دید.

    https://msdn.microsoft.com/en-us/library/ms252587.aspx#VersionControl

     

    موفق باشيد

نظرات یا سوالات خودرا با ما درمیان بگذارید

0912 097 5516 :شماره تماس
0713 625 1757 :شماره تماس