این دوره از سری دوره های تخصصی OT DevOps Engineer در فناوران آنیسا "خانه لینوکس ایران" است .

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

قابل توجه است که موسسه LPI نیز این مبحاحث را در دوره LPIC-OT DevOps Engineer خود که در پاییز 2017  اعلام می گردد، قرار داده است.

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

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

 

 مخاطبان دوره:

  • Linux Administrators
  • Software Developers and Engineers
  • DevOps

پیش نیاز :

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

مدت دوره : 48 ساعت

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

 

 

Part 1: Git

Intro of Version Control systems

Git Introduction
Perspective of Git
Role of Git in Modern technology space

Git as VCS
Git Structure and core layers of versioning operation

Environment setup for Git
Setup LAB environment on Linux

Repository in Git
Setting up a Git repository
Git help system
Configuring metadata of a repository

Staging

Branching

Collaboration using Git
Merging repositories

Conflicts

Managing and trace changes on code

Github
Creating git repo on github
Github via SSH

Git Workflow


Cloning a Repository
A local repo
A remote repo

 

Part 2: Jenkins

Introduction
CI & CD Fundamentals
Importance of CI
Build Maturity
Build Cycles

Jenkins features and architectures
Architecture
Terms
Master & Slave architecture

Installation
Installing Jenkins in Master/Slave Mode
Running Jenkins behind Nginx reverse proxy
Running Jenkins behind Apache reverse proxy
Choosing a launch method
Managing Jenkins Service

Managing Jenkins
Node Administration
Labels, groups, and load balancing
Securing Jenkins
Managing Credentials
Managing Plugins

Jobs and Views
Jobs in Jenkins
Managing jobs in Jenkins
Executing jobs
Creating Views
Managing Views

Software Deployment and Delivery
Architecting build outputs
Definitive Media Library(DML)
Publishing to a Docker Container
Automating Deployments
Build Pipelines
Upstreams and Downstreams

Jenkins and Docker
Integrating Jenkins and Docker
Integrating Jenkins with Ansible
Integrating Jenkins with Puppet