دوره آموزش گیت و جنکینز | Git & Jenkins

پیاده سازی CI/CD را در دواپس حرفه ای بیاموزید!

CI/CD Course with Git & Jenkins

نام دوره آموزشی: دوره آموزش گیت و جنکینز (Git & Jenkins)
Logo For Git Jenkins

 

معرفی دوره آموزشی: این دوره یکی از دوره های تخصصی مهندسی دواپس (DevOps) است که به شما کمک می کند تا بتوانید دانش و تجربه تولید، اعمال تغییرات و انتشار نسخ متعدد نرم افزار را با بالاترین کیفیت و قابلیت اطمینان در کمترین زمان ممکن را بدست آورید.

شما با Jenkins یکی از راهکارهای DevOps در خصوص پیاده­ سازی محیطی یکپارچه جهت اجرای اصول CI/CD را پیاده سازی می نمایید و از آن در جهت خودکارسازی، بهینه ­سازی و مدیریت چرخه توسعه نرم­ افزار استفاده می کنید.

از سوی دیگر مدیریت نسخه، مکانیزمی جهت ذخیره تغییرات و مدیریت فایل ها در طول زمان است تا در صورت نیاز بتوان در هر زمان به نسخه مشخصی بازگشت. همچنین تعامل بین افراد یک تیم نرم­ افزاری در راستای خودکارسازی فرایندها از دیگر اهداف سیستم­ های مدیریت نسخه است. از این رو Git به عنوان یکی از سیستم­ های مدیریت نسخه توزیع شده محبوب­ و قدرتمند، در این دوره آموزش داده می شود تا شما یکی از ابزارهای لازم دواپسی را مخصوصا برای برنامه نویسان، بیاموزید.

 

محتوای آموزشی: آموزش کاربردی استقرار نرم افزار با Git & Jenkins

 

مخاطبین دوره Git & Jenkins:

  • مهندسین و توسعه دهندگان نرم افزار
  • متخصصان DevOps
  • متخصصان لینوکس

 

سطح دوره آموزشی: پیشرفته - برای آگاهی از سطح دوره و جایگاه آن در مسیر آموزشی به لینک "نقشه راه دواپس" مراجعه کنید.

 

مدت زمان آموزش: ۵۵ ساعت

 

نحوه برگزاری: آنلاین

 

پیش نیاز آموزش: 

  • دانش لینوکس در سطح LPIC-2
  • آشنایی و تجربه کار با Configuration Management نظیر Puppet یا Ansible
  • آشنایی با Docker

 

 دوره رایگان Git & Jenkins: برای اطمینان از کیفیت دوره Git & Jenkins جلسه اول دوره را رایگان ثبت نام کنید.

 

زمان بندی و هزینه آموزش: برای اطلاع از زمان برگزاری و هزینه لطفا به تقویم آموزشی مراجعه نمایید.

 

معتبرترین مدرک آموزشی: در پایان هر دوره مدرک معتبر اعطا خواهد شد که نمونه آن را می توانید در لینک "نمونه مدارک" مشاهده کنید.

Introduction of DevOps

Understanding DevOps concepts

DevOps Automation

Continuous Integration

Continues Delivery

Continuous Deployment

The roles of Git & Jenkins in CI/CD

 

Part 1:  Git

Introduction of Git

Version Control System

Version Control System types

Git structure

Git VS other VCS

Git workflow

Environment setup for Git

Install Git on Linux

Install Git on Windows

Git over HTTP

Git Configuration

Git repository

Local repository

Remote repository

Git commands

Tagging

Types of tags

Tag management

Branching

Branch management

Merging

Conflicts

GitHub

Account Setup

Create a repo in GitHub

GitHub via SSH

 

Part 2:  Jenkins

Introduction to Jenkins

What is Jenkins?

Why Jenkins?

What can you do with Jenkins?

Environment setup for Jenkins

Prerequisites to install Jenkins

Installing Jenkins on Redhat, Fedora or CentOS

Installing Jenkins on SUSE or OpenSuse

Installing Jenkins on Debian or Ubuntu

Installing Jenkins on Docker

Installation of Jenkins as a standalone web application

Install Jenkins on windows

Post Installation

Jenkins Job

Create a freestyle job

Job Configuration

Build a Job

Job Status

Configuring Jenkins Server

Configure system

Global Tool Configuration

Manage plugins

Create a maven project

Install Apache maven

Create maven jobs

Configure maven jobs

Build maven jobs

Master Slave Structure

Parametric jobs

Jenkins views

Jenkins Security

Jenkins Credential

Configure global security

Authentication strategies

Authorization strategies

Backup and Restore Jenkins

Job Configuration History

Jenkins Pipeline

Jenkins CLI

Integrate Jenkins and Ansible

Build and deploy a web application via Jenkins and Ansible

Integrate Jenkins and Docker

 

Git (گیت) چیست؟

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

Git یک بخش اساسی DevOps است. این یک سیستم کنترل نسخه توزیع شده است که با ارائه تضمین صحت داده ها می تواند گردش نرم افزاری را با کیفیت بالا ارائه دهد.

در صورت داشتن ابزارهای سیستم کنترل نسخه مانند GIT، فضای کاری مشترک را برای توسعه دهندگان فراهم می شود. وقتی سایر توسعه دهندگان تغییراتی در پوشه ایجاد می کنند، هریک از آنها مطلع می شوند. بنابراین با GIT، همکاری بین توسعه دهندگان امکان پذیر است. تجسم کار نیز برای توسعه دهندگان آسانتر می شود. این بدان معناست که در وقت و کار زیادی صرفه جویی می کنید.

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


Jenkins (جنکینز) چیست ؟

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

 

چرا Jenkins ؟ 
حتی وظایف روزمره ممکن است با رشد یک شرکت، پیچیده شوند، اما هنگامی که از اتوماسیون استفاده شود، می توانیم انرژی و تمرکز بیشتری روی رشد قرار دهیم. جنکینز می‌تواند هم بیلد های موازی و هم توزیع شده را کنترل کند. جنکینز یک راه ساده برای ایجاد ادغام مداوم یا محیط تحویل مداوم است که تقریبا برای انواع زبان ها و مخازن منبع با استفاده از اتوماسیون سایر کارهای توسعه معمول را ارائه می دهد. در حالی که جنکینز نیازی به ایجاد اسکریپت برای مراحل فردی را برطرف نمی کند، اما به شما یک راه سریع تر و قوی تر برای ادغام کل زنجیره ساخت، آزمایش و استقرار ابزارهای می‌دهد. جنکینز با بیش از 1400 پلاگین ارتباط برقرار کرده است که به آن اجازه می دهد تا با بیشتر ابزارهای توسعه، آزمایش و استقرار ادغام شود. جنکینز با بیش از 165،000 نصب فعال و بیش از 1 میلیون کاربر در سراسر جهان گسترده است. در این طرح از جنکینز بعنوان هسته اصلی CI/CD استفاده شده است و کلیه مراحل فوق بر روی محیط توسعه و محیط اصلی بواسطه این نرم افزار پیاده سازی خواهد شد.

 

رویکرد خط لوله چیست؟

برخلاف رویکرد سنتی، خط لوله منتظر نمی‌ماند که کل مراحل به پایان برسد تا اشکالات و خطاها را بررسی کند. این یک تغییر دهنده بازی برای توسعه دهندگان بوده است. جنکینز بیش از هزار پلاگین را برای پشتیبانی و مدیریت نرم افزارهای مختلف پشتیبانی می‌کند. پلاگین ها می‌توانند از طریق صفحه مدیریت افزونه ها نصب، بروز و حذف شوند. جنکینز بسیار گسترده است که قابلیت های آن با نصب این افزونه ها قابل افزایش است. در جنکینز، ساخت مداوم، ادغام و آزمایش کارهای نسبی مرتبط با یک پروژه، خط لوله نامیده می‌شود.خط لوله فرآیند تحویل مداوم را کنترل می‌کند.این ابزار دارای یک "Jenkinsfile" است که پروسه های ایجاد و تخریب را هندل می‌کند. شما حتی می‌توانید کارهای ساده یا پیچیده را از طریق خط لوله DSL (زبان اختصاصی دامنه) کدگذاری کنید.

 

عملیات واقعی !

اکنون که با روند کار آشنا شدید، بگذارید بینشی از آنچه اتفاق می افتد برای شما فراهم کنیم. در ابتدا، یک توسعه دهنده کد را به مخازن کامیت می‌کند، جایی که سرور در فواصل معمول تغییرات جدید را بررسی می‌کند. اگر یک کد شناسایی شده باشد، تغییرات جدید Pull شده و آزمایش می‌شوند. پس از آزمایش، جنكینز بازخوردی را ایجاد می‌كند و نتایج آزمایش را به اطلاع توسعه دهنده می‌رساند. این روند همچنان تکرار می‌شود. فرآیند دیگری که باید باید با آن آشنا باشید، یکپارچه سازی مداوم (CI) در جنکینز است، هر ساخت CI باید قبل از انتقال به مرحله بعدی تأیید شود. یک راه مناسب برای انجام این کار از طریق اتوماسیون است. Continuous Delivery / Continuous Deployment (CD)، روندی مشابه چرخه توسعه نرم افزار دارد.

 

قبل از Jenkins

قبل از جنکینز، تیم توسعه، می‌بایستی کدشان را بصورت دستی آزمایش می‌کردند. پیدا کردن و رفع اشکالات پس از انجام یک آزمایش دشوار و زمان بر بود، که کل روند تحویل را به تأخیر می‌انداخت. این گونه کیفیت نرم افزار تحت تاثیر قرار می‌گرفت.

 

بعد از Jenkins

جنکینز با کمک بیش از 1000 پلاگین، به ادغام مداوم دست یافته است، که به شما این امکان را می‌دهد بطور مداوم ساخت، آزمایش و استقرار انجام دهید. جنکینز می‌تواند به مؤسساتی که روند توسعه سریع و چرخه زندگی را دنبال می‌کنند، کمک کند. اتوماسیون در اصل شامل یک تجزیه و تحلیل استاتیک می‌باشد و نیاز به تعمیر و نگهداری کمی دارد به خاطر خودکار شدن عملیات، و دارای یک رابط کاربری گرافیکی داخلی برای بروزرسانی آسان است. این گونه کیفیت نرم افزار بهبود یافته است.

 

نتیجه گیری

Jenkins با داشتن گزینه‌ها و افزونه های زیاد برای ساخت، ادغام، آزمایش یا استقرار، به ابزاری خارق العاده تبدیل شده است. Jenkins پس از اتوماسیون فرآیند، زمان کمتری برای بررسی و به روزرسانی نیاز دارد، به این معنی که می‌تواند از آن جدا شود و روی کار بر روی نقاط قوت خود یا آزمایش در زمینه های جدید تمرکز کند.

 

 

 

نرم افزار Jenkins چه کاری انجام می دهد؟ بخشی از دوره تخصصی Git & Jenkins در خانه لینوکس ایران

سوالات رایج به نحوه شرکت در دوره ها:

چه کسانی نیاز دارند این دوره را بگذرانند؟

این دوره مخصوص متخصصانی است که می خواهند بصورت حرفه ای DevOps را بیاموزند و چرخه CI/CD را پیاده سازی نمایند.

 

برای شرکت در این دوره چه پیش نیازهایی باید داشته باشیم؟

  • دانش لینوکس در سطح LPIC-2
  • آشنایی و تجربه کار با Configuration Management نظیر Puppet یا Ansible
  • آشنایی با Docker

 

با گذراندن این دوره در چه حوزه هایی می توانم وارد شوم؟

حوزه DevOps و مدیریت چرخه نرم افزار

 

دوره های خانه لینوکس حضوری هست یا آنلاین؟

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

 

آیا امکان شرکت در دوره ها از خارج از ایران امکان پذیر هست؟

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

 

سامانه آموزش آنلاین مجموعه چیست؟

سامانه آموزش آنلاین خانه لینوکس نرم افزارهای توسعه داده شده مبتنی بر پروژه متن باز bigbluebutton  Moodle +می باشد که بر روی بستر امن و قدرتمند لینوکس میزبانی شده است و هر امکانی که در سامانه های آموزش آنلاین رایج وجود دارد را در بالاترین کیفیت ارائه می دهد و همچنین یه انقلابی را از لحاظ کیفیت و قدرت استفاده از امکانات، در صنعت آموزش آنلاین بوجود آورده است.

 

آیا کیفیت دوره های آنلاین به اندازه دوره های حضوری هست؟

بی شک می توان گفت با توجه به سامانه نرم افزاری مورد استفاده در دوره های آنلاین آنیسا و میزبانی بر روی بستر لینوکس و پشتیبانی قدرتمند و وجود امکاناتی چون مشاهده ویدیوهای کلاس بعد از تشکیل کلاس و وجود همه نوع امکانات ارتباطی در بالاترین کیفیت، دوره های آنلاین کیفیتی کم از دوره های حضوری نداشته و معمولا با شرکت در دوره های آنلاین آنیسا، دشمنان دوره های آنلاین به طرفداران پروپاقرص این نوع از دوره های آموزشی تبدیل شده اند.

 

دوره ها به چه زبانی برگزار می گردند؟

دوره ها بصورت پیش فرض به زبان فارسی برگزار می گردند و درصورت نیاز می توان برخی دوره ها را بصورت خصوصی یا سازمانی به زبان انگلیسی برگزار کرد.

 

آیا می توانم همزمان در دو یا چند دوره آموزشی شرکت نماییم؟

در صورتی که یکی از این دوره ها آنلاین باشد، بله می توان. البته در صورت شرکت در دوره بصورت آفلاین، کسب مدرک به شرط قبولی در آزمون پایان دوره می باشد.

 

آیا امکان پرسش و پاسخ در کلاس آنلاین وجود دارد؟

بله شما در طول کلاس می توانید بصورت صوتی و یا تصویری، یا بصورت چت و حتی با به اشتراک گذاری تصویر صفحه کامپیوترتان در سامانهLMS ، به راحتی سوالات خود را بپرسید و استاد محترم مشکلات شما را در طول دوره به بهترین نحو حل می نماید.

 

آیا مدرس دوره تجربه عملیاتی مناسبی در حوزه مربوطه دارد؟

بله، مدرسان مجموعه آنیسا متخصصین و مدرسین برتر و مرجع حوزه تخصصی که آموزش می دهند با تجربه بالا در محیط ها کاری و عملیاتی هستند و غیر از دانش، بینش و تجربه را بصورت کاملا عملیاتی به دانشجویان منتقل می نمایند. قابل ذکر است که دوره های خانه لینوکس در بالاترین سطح علمی و عملی در دنیا ارائه می گردد.

 

آیا می توانیم قبل از شرکت در دوره تعیین سطح و مشاوره داشته باشیم؟

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

 

امکان شرکت در کلاس ها بصورت آفلاین وجود دارد؟

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

 

ساعت برگزاری دوره ها به چه صورت است؟

معمولا زمان برگزاری دوره های در طول هفته، در بعد از ظهر ها و دوره های آخر هفته صبح ها و یا بعد از ظهر ها می باشند. لطفا برای اطلاع دقیق از ساعت برگزاری هر دوره به تقویم آموزشی مراجعه فرمایید.

 

آیا تعداد ساعت دوره های حضوری و آنلاین با یکدیگر متفاوت است؟

خیر، کاملا یکسان است.

 

سوالات رایج آزمون ها و مدارک:

آیا پس از دوره مدرک معتبر دریافت می کنم یا باید در آزمون های بین المللی شرکت کنم؟

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

در حوزه لینوکس، در صورت نیاز، دانشجویان می توانند جداگانه در ازمون های بین المللی موسسه LPI شرکت نمایند و پس از قبولی مدرک موسسه LPI را اخذ نمایند.

 

آیا مدرک خانه لینوکس قابل ترجمه هست؟

مدرک خانه لینوکس به زبان انگلیسی صادر می گردد و نیازی به ترجمه در هنگام پروسه مهاجرت یا همکاری با شرکت های خارجی نیست.

 

آیا می توانم بدون شرکت در دوره آموزشی در آزمون بین المللی شرکت کنم؟

بله، در صورت آمادگی برای شرکت در آزمون های بین المللی لینوکس، این امکان وجود دارد.

 

آزمون های بین المللی به چه زبانی برگزار می شوند؟

این آزمون ها در ایران به زبان انگلیسی برگزار می گردند.

 

چگونه داوطلبان می توانند صحت مدارک خود را به کارفرمایان اثبات کنند؟

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

 

آزمون پایان دوره به چه صورت است؟

این آزمون به صورت آنلاین در سامانه LMS مجموعه برگزار می گردد. اجرای تمارین کلاسی و تاییدیه مدرس جهت صدور مدرک نیاز است.

 

سوالات عمومی:

آیا من می توانم ویدیوی دوره را ضبط کنم؟

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

 

چه نیازمندی های سخت افزاری برای برگزاری این کلاس به صورت آنلاین نیاز هست؟

داشتن یک سیستم با حدود 30 گیگ هارد خالی و حداقل 8 گیگ مموری و حداقل cpu در سطح core i3 نیازمندی شرکت در این دوره هست. در دوره های حضوری مجموعه به هر دانشجو یک سیستم مجزا تخصیص داده می شود. دسترسی به اینترنت نیز برای کلاس های آنلاین، نیاز است.

 

آیا من پشتیبانی رو در طول دوره دارم؟

بله شما در طول دوره پشتیبانی مجموعه و مدرس را دارید.

 

آیا امکان پیشنهاد کار از سمت موسسه به دانشجویان وجود دارد؟

بله، بدین منظور موسسه همواره آگهی های شغلی سازمان های همکار را در شبکه های اجتماعی منتشر می کند و با کسب دانش و تخصص، دانشجویان توانسته اند در بهترین شرکت ها و سازمان های داخلی و خارجی جمله Dell، Cisco، MTN، Amazon و حتی NASA مشغول به کار شوند.

 

آیا کلاس را می توانم بصورت خصوصی و یا اختصاصی برای سازمان برگزار کنم؟

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

 

آیا مسیر آموزشی مشخصی برای ادامه کسب تخصص وجود دارد؟

بله، حرفه ای ترین مسیر آموزش نتیجه سال ها تجربه و آموزش حرفه ای در صنعت و همچنین نتیجه اتاق فکر اساتید آنیسا بصورت یک Roadmap جامع در حوزه های مدیریت سیستم های لینوکس، توسعه نرم افزار، DevOps، IOT، Data Science، شبکه و DevNet و همچنین زیرساخت به دانشجویان ارائه می گردد.

 

تا چه مدت به دوره دسترسی دارم؟

در دوره های آنلاین، تا دو ماه پس از اتمام دوره، ویدیوهای دوره قابل بازدید در سامانه آموزش آنلاین است.

 

سوالات رایج ثبت نام و پرداخت:

آیا امکان پرداخت هزینه دوره بصورت اقساط وجود دارد؟

بله خوشبختانه، این امکان وجود دارد.

 

آیا تخفیفی برای شرکت در دوره ها وجود دارد؟

بله تخفیفات دائمی چون تخفیف گروهی، دوره های همزمان، تخفیف معرفی و تخفیفات مناسبتی وجود دارد.

 

گروه سنی مخاطب دوره ها چیست؟

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

 

چگونه می توانم برای شرکت در دوره ثبت نام کنم؟

کافی است برای شروع در قسمت پیش ثبت نام، پیش ثبت نام را انجام داده و منتظر تماس همکاران ما باشید که در اسرع وقت و در ساعات اداری با شما تماس خواهند گرفت و شما را در ادامه پروسه ثبت نام همراهی می نمایند.

 

آیا رعایت پیش نیاز ها واجب است؟

بله، رعایت پیش نیاز های رسمی دوره بسیار مهم هستند، و عملا بدون رعایت آنها امکان بهره وری از دوره وجود ندارد.

 

من دانش آموزم آیا می توانم در دوره ها شرکت کنم؟

بله، با مشاوره و سنجش دانش شما در حوزه IT امکان شرکت در دوره مناسب سن و دانش شما وجود دارد.

 

دوره های پیشنهادی

EN / FA

فناوران آنیسا

تهران، میدان آرژانتین، خ وزرا، کوچه هشتم، یحیوی، پلاک ۴

 اطلاعات تماس:

  • 021-88716168
  • 021-88712172
  • 0910-8555111

info @ anisa.co.ir

© فناوران آنیسا | تمامی حقوق این سایت تحت مجوز GFDL برای فناوران آنیسا محفوظ است.
design by www.digitaldesign.ir