نحوه Build در Team Foundation Server 2015
چهارشنبه 15 مهر 1394در این مقاله به آیتم Build در Team Foundation Server 2015 خواهیم پرداخت.TFS Build امکان ساخت نسخه های مختلف یک محصول را به شما می دهد و همچنین می توانید بین نسخه های مختلف مقایسه صورت دهید تا ببینید کدام بهتر است.
نگهداری اطلاعات و کدهای مربوط به یک پروژه همواره به عنوان یک چالش مطرح بوده است در طی زمان نرم افزارهایی برای نگهداری کدها و اطلاعات پروژه به وجود آمدند.این نرم افزارها کدها و اطلاعات پروژه را در جایی به نام 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 را اجرا کنید نتیجه آن به شکل زیر خواهد بود
- C#.net
- 2k بازدید
- 1 تشکر