نحوه Build در Team Foundation Server 2015

در این مقاله به آیتم Build در Team Foundation Server 2015 خواهیم پرداخت.TFS Build امکان ساخت نسخه های مختلف یک محصول را به شما می دهد و همچنین می توانید بین نسخه های مختلف مقایسه صورت دهید تا ببینید کدام بهتر است.

نحوه Build  در Team Foundation Server 2015

نگهداری اطلاعات و کدهای مربوط به یک پروژه همواره به عنوان یک چالش مطرح بوده است در طی زمان نرم افزارهایی برای نگهداری کدها و اطلاعات پروژه به وجود آمدند.این نرم افزارها کدها و اطلاعات پروژه را در جایی به نام Repository نگهداری می کنند.این باعث می شود که همه افراد تیم از یک محل برای نگهداری و بعد اعمال تغییرات کد استفاده کنند.وقتی همه روی یک پروژه کار می کنند باید تغییرات صورت گرفته به همراه نام فرد مورد نظر Log گرفته شود تا مدیر پروژه در صورت صلاحدید وضعیت را به قبل از تغییرات برگرداند و یا Restore کند.این نرم افزار ها تحت نام Source Control  شناخته می شوند.یکی از این نرم افزارها TFS  و یا Team Foundation Server  نامیده می شود.

TFS   توسط مایکروسافت ارائه شده و این امکان را به شما می دهد که علاوه بر مدیریت کدها Task های افراد تیم را هم مدیریت کنید.

TFS Build  امکان ساخت نسخه های مختلف یک محصول را به شما می دهد و همچنین می توانید بین نسخه های مختلف مقایسه صورت دهید تا ببینید کدام بهتر است.

برای استفاده از TFS   باید در این سایت ثبت نام کنید.و بعد Repository ایجاد کنید.و کدهای خود را از داخل Visual به سرور TFS   انتقال دهید.

ابتدا ساختار TFS   در 2010 و 2015 را با هم مقایسه می کنیم.

شما اگر عضو تیم TFS  باشید باید بتوانید کد را تحویل بگیرید تا روی آن تغییرات صورت دهید (check out) و اگر کارتان روی کد تمام شده است لازم است آن را تحویل دهید( (check in.نسخه نهایی نرم افزار که Build میشود آخرین و درست ترین تغییرات را Build  می کند.

نسخه 2010   با مبتنی کردن چرخه کار بر اساس XMAL  تغییرات اساسی ایجاد کرد.ابتدا TFS 2010  را با TFS 2015  مقایسه می کنیم

در 2015 ساختار باز هم متحول شد.در نسخه 2015  به جای Build Controller ما لینکهایی بین Build Agent و  TFS داریم

روند Build

Build  بر اساس وظیفه است . TFS وظایفی را به Agent ارسال می کند.در این شکل می بینید که مشخصات Agent لیست شده است .

شکل 1:قابلیت های هاست

Agent  وظایف مختلفی را اجرا می کند. Agent   لاگهای مختلفی را به TFS ارسال می کند.این لاگها همزمان بودن را نشان می دهند. TFS 2015 از ساختارnon-windows پشتیبانی می کند.نیازی به تعریف کامل ساختار نیست زیرا که Template  ها در دسترس هستند.سفارشی سازی در اینجا بسیار راحت است فقط کافی است وظایف دلخواه را اضافه کنیم.

ساختن Build

شکل زیر Build Defination  را نشان می دهد

بر روی Add build step کلیک کنید.و “Publish Build Artifacts” را انتخاب کنید.و گزینه add  را بزنید.

حال میخواهیم Step ایی را که add کرده ایم تنظیم نماییم.برای این کار نیاز داریم تا موارد زیر را ست نماییم

کپی کردن root: این گزینه مقصد فایل پروژه را نشان می دهد.اگر این گزینه را خالی رها کنید از repository  کپی خواهد شد

Content : این فایل ، فایل پروژه است .**\bin تمام فایل های موجود در فولدر bin را کپی خواهد کرد.

Artifact Name یک نام مجازی برای فایل ماست

Artifact Type این گزینه می تواند شامل دو آیتم باشد TFS و File System

در شکل زیر یک فولدر Share  به نام Build Drop ساخته ام که می خواهم باینری ها داخل آن قرار بگیرد

Build را ذخیره کنید.بعد از این مرحله می توانیم با انتخاب Artifacts Tabs نام مجازی که داده بودیم را بیابیم.دنبال DropLoc بگردید و باینری خود را بیابید

تا به اینجا یاد گرفتیم که چطور Step موجود را به Build اضافه کنیم.حال می خواهیم یک Task  جدید با کمک Power Shell بسازیم و آن را به عنوان step به Build  اضافه کنیم.در اینجا یک اسکریپت ساده با کمک Power Shell می سازیم و آن را به سورس اضافه می کنیم.بعدا این step جدید را به Build Definition خود اضافه خواهم کردو لوکیشن را محل این فایل قرار خواهم داد.

کد Power Shell به شکل زیر است :

param ( $User )

Write-Host 'This is coming from build task'

$message = [System.String]::Format(“Hello {0}!", $User)

$BuildNo = [System.String]::Format(“Build no {0}!", $Env:BUILD_BUILDNUMBER)

$BuildName = [System.String]::Format(“Build no {0}!", $Env:Build_DefinitionName)

$BuildQueuedBy = [System.String]::Format(“Build no {0}!", $Env:Build_QueuedBy)

Write-Host $message

Write-Host $BuildNo

Write-Host $BuildName

Write-Host $BuildQueuedBy

در مرحله بعد:چک کردن این اسکریپت در سورس کنترل

حال باید این اسکریپت را به عنوان Task اضافه کنیم. دکمه Add build step را بزنید و Power Shell Script را بزنید.

اکنون Task جدید به Build اضافه شده است.آنرا ذخیره کنید.اگر Build را اجرا کنید نتیجه آن به شکل زیر خواهد بود