اگر توسعه دهندگان تیم شما به جای خلق ارزش، زمان خود را صرف به روز نمودن راهکارهای نرم افزاری و دیتابیسها در محیط های test یا production می نمایند و با گسترش محصولات شما ادامه این امر برای شما امکان پذیر نمی باشد، این دوره به شما کمک می نماید تا با کمک یکی از بهترین ابزارهای موجود در حوزه ورژن کنترل و CI/CD به رفع این مشکلات پرداخته و خودکارسازی فرآیندهای خود را تسهیل نمایید.
مدرس: علی اژدری، با تجربه ۵ ساله در پیاده سازی و استقرار فرهنگ و فرآیندهای DevOps و ابزارهای مرتبط
مدت دوره: ۱۸ ساعت
هزینه دوره: لطفا تماس حاصل بفرمایید.
پیش نیاز: حداقل ۳ سال سابقه توسعه نرم افزار، آشنایی اولیه با ابزار tfs یا Azure DevOps
مخاطب: توسعه دهندگان نرم افزار، مدیران تیم های توسعه نرم افزار
می توانید فایل PDF سرفصل دوره آموزش CI/CD با استفاده از Microsoft Azure DevOps را دانلود نمایید.
اهداف دوره:
- دانشجو توانایی ایجاد و مدیریت سیستم کنترل نسخه کدها به دو روش متمرکز و توزیع شده را کسب خواهد کرد.
- دانشجو توانایی ایجاد یک فرآیند جهت تحویل کدهای توسعه داده شده را کسب می نماید.
- دانشجو ایجاد ساختار Continuous Integration را فرا خواهد گرفت.
- آشنایی با ساختار Release Automation و ایجاد Continuous Delivery برای انتشار پروژه ها آشنا خواهد شد.
- دانشجو توانایی ایجاد ساختار درختی و کنترل امنیت در تمام پروسه تولید نرم افزار را خواهد داشت.
- دانشجو توانایی ایجاد و استفاده از Nuget Package ها را خواهد داشت.
- یادگیری ساختار های موجود ایجاد Branch در Git و ارتباط آن با پایپلاین ها.
- دانشجو با ساختار جدید ارائه شده در نسخه ۲۰۲۰ ابزار آشنا خواهد شد.
- دانشجو با ساختار جدید Pipeline آشنا خواهد شد.
- دانشجو با مفهوم Artifact آشنا شده و روش های نگهداری از آن در Azure DevOps را فرا خواهد گرفت.
جهت کسب اطلاعات بیشتر و یا پیش ثبت نام در این دوره با ارسال ایمیل حاوی نام و نام خانوادگی و شماره تلفن همراه خود به ایمیل Info@ALM-DevOps.com اقدام نمایید یا با شماره تلفن ۰۹۱۲۹۲۷۱۲۴۳ تماس حاصل نمایید.
سرفصل های این دوره به شرح زیر می باشند.
بخش اول – ورژن کنترل / سورس کنترل در Azure DevOps
- معرفی انواع ورژن کنترل توزیع شده و متمرکز
- TFVC یا Git، تفاوتها و شباهت ها
- ارائه تشریح خلاصه ایی از TFVC و اینکه TFS نیست
- مهاجرت از TFVC به Git
- آموزش مقدماتی Git
- معرفی Azure DevOps Repos و نحوه مدیریت ریپوهای گیت
- بخش فایلها و نحوه استفاده بهتر از آن
- آموزش استفاده از بخش کامیت ها و پوش ها و دلایل جداسازی میریت این دو
- آموزش بخش Branch ها و روش هایی که باید در استفاده از برنچ ها رعایت شوند و مدلهایی که نباید استفاده شوند
- آموزش Tag ها و ارائه روش صحیح استفاده از آنها
- Pull request چیست و ارتباط آن ها فرآیندهای DevOps و مدیریت محصول
- آموزش تنظیم پالیسی های کلی و جامع بر روی گیت ریپوهای تیم پروژه
بخش دوم – ورژن کنترل دیتابیس و روش های مفید مرتبط
- چرا ورژن کنترل برای دیتابیس
- بهترین روش های مدیریت تغییرات دیتابیس
- SSDT و SQL Chang Automation
- روش دوگانه Redgate در مدیریت تغییرات دیتابیس و شیفت به چپ
- تشریح ابزارها و روش های Database DevOps
- پابلیش دیتابیسها با دو ابزار مایکروسافت و ردگیت
بخش سوم – نگاهی کلی به Azure DevOps Pipeline ها
- Azure DevOps Pipeline چیست
- تشریح رویکرد Azure DevOps به موضوع Automation
- تشریح روش های موجود Azure DevOps جهت پیاده سازی خودکارسازی
- تشریح نیازمندی های موجود جهت ایجاد Automation در بخش ورژن کنترل
بخش چهارم – پیش نیازهای Pipeline
- توضیح ساختار کلی موجود در بخش Pipeline ها
- زبان YAML چیست و نقش آن در Azure DevOps
- آموزش اصول اصلی، بیلدهایی سریع، نمایش وضعیت بیلدها، فقط یکبار بیلد کنید، ورژن گذاری تمامی Artifact ها
- Agent ها و مدیریت آنها در سطوح مختلف Azure DevOps
- تشریح Environment ها
- تشریح Library و Task group
- تشریح Deployment group ها
بخش پنجم – پیاده سازی خودکار سازی با استفاده از Pipeline
- تغییرات اعمال شده در نسخه ۲۰۲۰ و تغییرات در بخش build
- پایپلاین به دو روش Designer و YAML
- مدیریت پایپلاین ها
- انواع task های موجود در پایپلاین ها
- آموزش تعریف Pipeline با استفاده از کدهای YAML
- تشریح اسکریپت نویسی به صورت YAML
- تنظیمات موجود در پایپلاین ها
- ایجاد Continuous integration در pipeline
- متغیرهای از پیش تعریف شده در پایپلاین ها
- اجرای پایپلاین ها و مشاهده نتایج
- مدیریت محصولات پایپلاین ها
- اجرای تست های Unit و Integration در پایپلاین
- آموزش نحوه پیاده سازی تست های خودکار UI در پایپلاین ها
بخش ششم – Azure DevOps Releases
- معماری بخش Release
- مدیریت release ها
- ساختن یک پایپلاین با ارتیفکت ها و محیطها
- متغیرهای از پیش تعریف شده در release ها
- پیاده سازی CI/CD
بخش هفتم – اجرا و پیاده سازی CI/CD با استفاده از تکنولوژی های مختلف
- پروژه های دات نت بر اساس .net framewrok
- پروژه های .NET Core
- پروژه های Java
- پروژه های frontend با تکنولوژی های react و angular
- ایجاد کانتینر
بخش هشتم – Azure DevOps Artifacts
- Artifact چیست و تشریح بخش Artifact موجود در Azure DevOps
- مفاهیم اصلی
- Feed چیست
- بهترین روشها جهت استفاده از Azure DevOps Artifacts
- گراف پکیج ها
- محدودیت ها و ویوهای فیدها
- Promote نمودن پکیج ها و Upstream سورس ها
- تنظیم ریپوزیتوری پکیج nuget و اجبار انها به ویژال استدیو
- پکیج های npm
- پکیج های Maven
- ایجاد nuget package در فرایند CI