لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش DevOps: CICD با Jenkins، Maven، Gradle، SonarQube، Docker
DevOps: CICD with Jenkins, Maven, Gradle, SonarQube, Docker
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
با ابزارهای قدرتمندی مانند Docker، Ansible، AWS، GIT و موارد دیگر، به استاد DevOps در یادگیری خط لوله و ادغام Jenkins تبدیل شوید! چرخه عمر DevOps: چرخه عمر CICD Maven: ابزار پیشفرض، تمیز و سایت Maven ابزار SonarQube در یکپارچهسازی مداوم پایگاه داده PostgreSQL برای SonarQube یکپارچهسازی Nexus با Maven یکپارچهسازی Nexus با فرآیند Gradle CICD - رویکرد دستی با استفاده از Maven، SonarQube, SonarQube, استقرار با استفاده از Ansible Playbook Jenkins Master and Slave Server چگونه Jenkins Master و Slave Architecture کار می کنند؟ پیش نیازها: رایانه شخصی یا لپ تاپ با اتصال به اینترنت باید یک حساب کاربری ردیف رایگان AWS داشته باشد دانش اولیه در مورد Docker & Ansible مورد نیاز است انگیزه یادگیری DevOps CICD مورد نیاز است
کل دوره DevOps بر اساس محیط AWS است.
Jenkins یک ابزار اتوماسیون منبع باز است که در جاوا با افزونه هایی که برای اهداف یکپارچه سازی مستمر ساخته شده اند نوشته شده است.
می توان از آن برای خودکار کردن تقریباً هر چیزی استفاده کرد.
سریعتر بروید و یاد بگیرید که چگونه فرآیندهای خودکار قوی مانند Pipelines، CI/CD Workflow، و موارد دیگر بسازید!
در این ماژول دوره، علاوه بر جنکینز، فناوریهای متقاطع با این سرویس، مانند Docker، AWS، Ansible، Git، Maven، Gradle، Pipelines و بسیاری دیگر را نیز خواهید آموخت!
>
مقدمه
مزایای DevOps چیست؟
چرخه زندگی DevOps:
توسعه مستمر
ادغام پیوسته
آزمایش مداوم
بازخورد مستمر
استقرار مستمر
نظارت مستمر
لینوکس برای DevOps
یک حساب AWS ایجاد کنید
یک نمونه EC2 ایجاد کنید - آمازون لینوکس
یک جفت کلید ایجاد کنید - کلید خصوصی عمومی
MobaXterm - اتصال نمونه EC2
Putty - اتصال EC2 Instance
Gitbash - به نمونه EC2 متصل شوید
یک نمونه EC2 - اوبونتو ایجاد کنید
نمونهها را فیلتر کنید
دسترسی به نمونه با استفاده از گذرواژه نام کاربری (بدون استفاده از کلید خصوصی)
اطلاعات بیشتر درباره کلید عمومی خصوصی
احراز هویت بدون رمز عبور از لینوکس به سرور اوبونتو
آزمایشگاه - به نمونه لینوکس آمازون غیر از کاربر پیشفرض دسترسی داشته باشید
آزمایشگاه - به نمونه لینوکس اوبونتو غیر از کاربر پیش فرض دسترسی داشته باشید
آزمایشگاه - احراز هویت بدون رمز عبور بین آمازون لینوکس اوبونتو و بالعکس
ابزار Maven
مروری بر ابزار Maven
چرخه زندگی Maven: پیشفرض، سایت تمیز
مخازن مورد استفاده در Maven
آزمایشگاه - بسته Springboot را در محیط AWS بسازید
آزمایشگاه: مکان وابستگی های بسته ساخته شده توسط Artifacts
آزمایشگاه: کاوش فایل pom.xml
آزمایشگاه: دسترسی به برنامه بسته را اجرا کنید
آزمایشگاه: کاوش وابستگی های یک بسته ساخته شده
آزمایشگاه: ساخت چرخه حیات
آزمایشگاه: با استفاده از maven یک پروژه Web Application بسازید
آزمایشگاه: با استفاده از maven یک پروژه Web Application بسازید
ابزار SonarQube در یکپارچه سازی مداوم
درباره ویژگی های ابزار SonarQube
نصب SonarQube
پیکربندی گزارشهای SonarQube را بررسی کنید
پورت خدمات SonarQube
از طریق URL به SonarQube دسترسی پیدا کنید
Maven (سرور CI) را پیکربندی کنید
پرداخت پروژه را با استفاده از Maven بسازید
Maven را با SonarQube ادغام کنید تا کیفیت کد را بررسی کنید
افزودن Sonar-maven-plugin
آزمایشگاه - کد بد توسط SonarQube شناسایی شد
آزمایشگاه - بررسی مجدد کد توسط SonarQube
را تصحیح کرد
پایگاه داده PostgreSQL برای SonarQube
درباره پایگاه داده PostgreSQL
پایگاه داده PostgreSQL را با SonarQube راه اندازی کنید
ایجاد پایگاه داده، کاربر، و امتیازات اعطا
ویژگی های سونار فایل پیکربندی Sonarqube
عیب یابی پایگاه داده PostgreSQL برای SonarQube
Nexus را با Maven ادغام کنید
پیکربندی سرور Nexus را نصب کنید
مدیریت مخزن Sonatype Nexus را پیکربندی کنید
سرور CI را پیکربندی کنید تا پروژه را بررسی کنید ساخت بسته
پیکربندی Springboot maven Nexus Deploy
الزامات Nexus در pom.xml
اعتبارنامه ورود به Nexus را تعریف کنید
Artifacts را در مخزن Nexus مستقر کنید
Gradle را با Nexus ادغام کنید
نصب سرور Nexus
پیکربندی سرور Gradle به عنوان CI
پروژه Springboot tomcat را با استفاده از ابزار gradle بسازید
افزونه را در build.gradle اضافه کنید
جزئیات مخازن Nexus را در build.gradle اضافه کنید
از شرط if-else در build.gradle
استفاده کنید
اعتبارنامه ها را در ویژگی های gradle اضافه کنید
مصنوعات پروژه را در سرور Nexus منتشر کنید
مصنوعات را با استفاده از استقرار مداوم بارگیری کنید
جنکینز را با پروژه Git Maven ادغام کنید
درباره جنکینز
بررسی اجمالی ادغام جنکینز با GitHub نحوه ساخت یک پروژه مبتنی بر جاوا
نصب Jenkins، Java، Maven Git در نمونه EC2
جنکینز را در نمونه EC2 پیکربندی کنید
GitHub Credentials Maven Location را در Jenkins پیکربندی کنید
با استفاده از Maven Tool پروژه Build مبتنی بر جاوا را ایجاد کنید
افزونههای Maven را در جنکینز اضافه کنید
فرآیند CICD - رویکرد دستی با استفاده از Maven، SonarQube، Docker، AWS ECR
مروری بر فرآیند CICD
پیکربندی Build Server و نصب ابزارهای مختلف مانند Java، Git، Maven، Docker
پرداخت پروژه را با استفاده از Maven Tool بسازید
SonarQube را روی نمونه اوبونتو نصب کنید
افزودن Sonar-maven-plugin
سرویس SonarQube را راه اندازی کنید
کیفیت کد را بررسی کنید
نمای کلی Dockerfile برای ایجاد یک تصویر Docker
یک مخزن در AWS ECR ایجاد کنید
نقشی برای ارائه دسترسی به یک سرویس AWS (سرور CI) به دیگری (AWS ECR) ایجاد کنید
تصویر Docker را با استفاده از Dockerfile بسازید
تصویر Docker را به مخزن AWS ECR فشار دهید
یک سرور CD ایجاد کنید - استقرار مداوم
تصویر Docker را از ECR به سرور CD اجرا کنید
کل فرآیند CICD را خلاصه کنید
فرآیند CICD با استفاده از جنکینز
مروری بر فرآیند CICD با استفاده از جنکینز
یک سرور جنکینز (سرور CI) نصب کنید
maven را در سرور جنکینز از پیکربندی ابزار جهانی اضافه کنید
یک خط لوله جنکینز برای ساخت پروژه Checkout ایجاد کنید
سرور SonarQube را با استفاده از ظرف Docker نصب کنید
رمز را از سرور SonarQube ایجاد کنید
اعتبارنامه ورود به سیستم سونار را در سرور جنکینز اضافه کنید
افزونههای SonarQube Scanner را در Jenkins نصب کنید
SonarQube را به سرور جنکینز اضافه کنید
خط لوله برای اسکنر SonarQube برای جنکینز
خط لوله برای موفقیت یا به دلیل خرابی دروازه با کیفیت متوقف شد
یک وب هوک را در سرور SonarQube خود پیکربندی کنید
برای ایجاد یک تصویر Docker با استفاده از DockerFile، مرحله را در خط لوله اضافه کنید
یک کاربر IAM ایجاد کنید تا به AWS ECR دسترسی داشته باشید و آن را به سرور جنکینز اضافه کنید
مرحله در خط لوله را برای فشار دادن تصویر Docker به AWS ECR اضافه کنید
SES را برای ارسال اعلان ایمیل پیکربندی کنید
SES را با Jenkins با استفاده از خط لوله ادغام کنید
پس از موفقیت یا شکست Jenkins Pipeline یک اعلان ایمیل دریافت کنید
استقرار مداوم با استفاده از Ansible Playbook
یک سرور CD را با استفاده از سرور اوبونتو پیکربندی کنید
راه اندازی Ansible در سرور جنکینز
بسته ها را روی سرور CD نصب کنید
برای برقراری ارتباط از سرور CD به AWS ECR یک کتاب پخش ایجاد کنید
کتاب پخش برای کشیدن تصویر از ECR به سرور CD
Playbook برای اجرای Container با استفاده از Docker Image
به برنامه Springboot در حال اجرا در سرور CD دسترسی داشته باشید
Jenkins Master and Slave Server
نمای کلی سرور برده اصلی جنکینز
معماری Jenkins Master and Slave چگونه کار می کند؟
آزمایشگاه - سرور Jenkins Master را در محیط AWS نصب کنید
آزمایشگاه - سرور اصلی جنکینز را پیکربندی کنید
آزمایشگاه - گرهها و ابرهای مدیر
آزمایشگاه - راه اندازی Slaves با جنکینز استاد
آزمایشگاه - عیب یابی هنگام افزودن سرور برده
آزمایشگاه - یک شغل برای Slave با استفاده از پروژه Freestyle ایجاد کنید
آزمایشگاه - ایجاد شغل برای Slave با استفاده از یک پروژه خط لوله (Springboot Appl)
آزمایشگاه - ایجاد شغل برای Slave با استفاده از یک پروژه خط لوله (Springboot Appl)
تنظیمات در دستگاه برده
آزمایشگاه - با استفاده از کلیدهای SSH بین Master Slave ارتباط برقرار کنید
آزمایشگاه - عامل راه اندازی در Slave Machine
آزمایشگاه - یک شغل برای ساختن پروژه Springboot در Slave Machine ایجاد کنید
آخرین سخنرانی
سرفصل ها و درس ها
معرفی
Introduction
معرفی
Introduction
DevOps و مزایا چیست؟
What is DevOps & benefits?
چرخه عمر DevOps: CICD (ادغام، استقرار و تحویل مداوم)
DevOps Lifecycle: CICD (Continuous Integration, Deployment & Delivery)
آزمون QA را تمرین کنید
Practice QA Quiz
معرفی
Introduction
لینوکس برای DevOps
Linux for DevOps
یک حساب AWS ایجاد کنید
Create an AWS Account
یک نمونه EC2 ایجاد کنید - آمازون لینوکس
Create an EC2 Instance - Amazon Linux
ایجاد یک جفت کلید - کلید عمومی و خصوصی
Create a key pair - Public & Private Key
سرور CI را پیکربندی کنید و پروژه Springboot Maven را بسازید
Configure CI Server and Build Springboot Maven Project
الزامات Nexus در pom.xml
Nexus requirements in the pom.xml
اعتبارنامه ورود به Nexus را تعریف کنید
Define nexus login credentials
مصنوعات را در مخزن Nexus مستقر کنید
Deploy the Artifacts to Nexus Repository
Nexus را با Maven ادغام کنید
Integrate Nexus with Maven
Gradle را با Nexus ادغام کنید
Integrate Gradle with Nexus
نصب سرور Nexus
Installation of Nexus server
Gradle Server را به صورت CI نصب کنید
Install Gradle Server as CI
پروژه تامکت Springboot را با استفاده از ابزار gradle بسازید
Build the springboot tomcat project using gradle tool
افزونه را در build.gradle اضافه کنید
Add plugin in build.gradle
مخازن Nexus را در build.gradle اضافه کنید
Add Nexus Repositories in build.gradle
از شرط if else در build.gradle استفاده کنید
Use if else condition in build.gradle
اعتبارنامه ورود به Nexus را در gradle.properties اضافه کنید
Add Nexus login credentials in gradle.properties
کتابخانه Gradle را با استفاده از استقرار مداوم دانلود کنید
Download the Gradle Library using Continuous Deployment
Gradle را با Nexus ادغام کنید
Integrate Gradle with Nexus
جنکینز را با ابزار Maven ادغام کنید
Integrate Jenkins with Maven tool
درباره جنکینز
About Jenkins
مروری بر ادغام جنکینز با Git
Overview of Jenkins integration with Git
نصب جنکینز، جاوا، ماون و گیت بر روی نمونه EC2
Installation of Jenkins, Java, Maven & Git on EC2 Instance
جنکینز را روی نمونه EC2 پیکربندی کنید
Configure Jenkins on EC2 Instance
GitHub Credentials & Maven را در Jenkins پیکربندی کنید
Configure GitHub Credentials & Maven on Jenkins
پروژه مبتنی بر جاوا را با استفاده از Maven Tool ایجاد و بسازید
Create & Build the Java based project using Maven Tool
افزونه های Maven را در جنکینز اضافه کنید
Add Maven Plugins in Jenkins
جنکینز را با ابزار Maven ادغام کنید
Integrate Jenkins with Maven tool
فرآیند CICD - رویکرد دستی با استفاده از Maven، SonarQube، Docker، AWS ECR
CICD Process - Manual Approach Using Maven, SonarQube, Docker, AWS ECR
مروری بر فرآیند CICD
Overview of CICD Process
Build Server را پیکربندی کنید و ابزارهای مختلفی مانند Java، Git، Maven، Docker را نصب کنید
Configure Build Server and Install various tools like Java, Git, Maven, Docker
SonarQube را در Ubuntu Instance نصب کنید
Install SonarQube on Ubuntu Instance
اضافه کردن Sonar-maven-plugin
Add Sonar-maven-plugin
سرویس SonarQube را راه اندازی کنید
Start SonarQube Service
کیفیت کد را بررسی کنید
Check the Code Quality
نمای کلی Dockerfile برای ایجاد تصویر Docker
Overview of Dockerfile to Create Docker Image
یک مخزن در AWS ECR ایجاد کنید
Create a Repository in AWS ECR
نقشی برای ارائه دسترسی به یک سرویس AWS (سرور CI) به دیگری (AWS ECR) ایجاد کنید.
Create a Role to Provide Access One AWS Service (CI Server) to another (AWS ECR)
تصویر Docker را بسازید و به مخزن AWS ECR فشار دهید
Build & Push the Docker Image to AWS ECR Repository
ایجاد یک سرور سی دی - استقرار مداوم
Create a CD Server - Continuous Deployment
تصویر Docker را از ECR به سرور CD بکشید و اجرا کنید
Pull & Execute the Docker Image from ECR to CD Server
کل فرآیند CICD را خلاصه کنید
Recap the Entire CICD Process
فرآیند CICD - رویکرد دستی با استفاده از Maven، SonarQube، Docker، AWS ECR
CICD Process - Manual Approach Using Maven, SonarQube, Docker, AWS ECR
فرآیند CICD با استفاده از جنکینز
CICD Process Using Jenkins
درباره جنکینز
About Jenkins
نصب سرور جنکینز (سرور CI)
Install a Jenkins Server (CI Server)
جنکینز را پیکربندی کنید
Configure Jenkins
یک خط لوله جنکینز برای Checkout ایجاد کنید و پروژه را بسازید
Create a Jenkins pipeline for Checkout & build the project
سرور SonarQube را با استفاده از ظرف Docker نصب کنید
Install SonarQube Server using Docker container
پلاگین ها را نصب کنید و اعتبارنامه های ورود سونار را در سرور جنکینز اضافه کنید
Install plugins & add sonar login Credentials on Jenkins Server
SonarQube را در سرور جنکینز اضافه کنید
Add SonarQube on Jenkins Server
خط لوله برای اسکنر SonarQube برای جنکینز
Pipeline for SonarQube Scanner for Jenkins
خط لوله برای موفقیت یا به دلیل خرابی دروازه با کیفیت متوقف شد
Pipeline for success or aborted due to quality gate failure
یک وب هوک را در سرور SonarQube خود پیکربندی کنید
Configure a webhook in your SonarQube Server
مرحله را در خط لوله اضافه کنید تا با استفاده از DockerFile یک تصویر docker ایجاد کنید
Add stage in pipeline to create a docker Image using DockerFile
افزودن پلاگین - CloudBees AWS، ECR، Docker و غیره.
Add Plugins - CloudBees AWS, ECR, Docker etc.
مرحله در خط لوله را برای فشار دادن تصویر Docker به AWS ECR اضافه کنید
Add stage in pipeline to Push the Docker Image to AWS ECR
SES را برای ارسال اعلان ایمیل پیکربندی کنید
Configure SES to send Email Notification
SES را با جنکینز با استفاده از خط لوله ادغام کنید
Integrate SES with Jenkins using pipeline
پس از موفقیت یا شکست Jenkins Pipeline یک اعلان ایمیل دریافت کنید
Receive an Email Notification after the success or failure of Jenkins Pipeline
فرآیند CICD با استفاده از جنکینز
CICD Process Using Jenkins
استقرار مداوم با استفاده از Ansible Playbook
Continuous Deployment using Ansible Playbook
یک سرور CD را با استفاده از سرور اوبونتو پیکربندی کنید
Configure a CD Server using Ubuntu Server
راه اندازی Ansible در سرور جنکینز
Ansible Setup on Jenkins Server
بسته ها را روی سرور سی دی نصب کنید
Install packages on CD Server
برای برقراری ارتباط از سرور CD به AWS ECR، یک Playbook ایجاد کنید
Create a Playbook to establish a connection from CD Server to AWS ECR
کتاب راهنما برای کشیدن تصویر از ECR به سرور CD
Playbook to pull the image from ECR to CD Server
Playbook برای اجرای Container با استفاده از Docker Image
Playbook to run the Container using the Docker Image
به برنامه Springboot در حال اجرا بر روی سرور CD دسترسی داشته باشید
Access the Springboot Application running on CD Server
استقرار مداوم با استفاده از Ansible Playbook
Continuous Deployment using Ansible Playbook
جنکینز استاد و برده
Jenkins Master and Slave
مروری بر سرور جنکینز Master & Slave
Overview of Jenkins Master & Slave Server
معماری جنکینز استاد و برده چگونه کار می کنند؟
How Jenkins Master and Slave Architecture work?
آزمایشگاه - سرور Jenkins Master را در محیط AWS نصب کنید
Lab - Install Jenkins Master Server in AWS Environment
آزمایشگاه - سرور اصلی جنکینز را پیکربندی کنید
Lab - Configure Jenkins Master Server
آزمایشگاه - مدیریت گره ها و ابرها
Lab - Manage Nodes and Clouds
آزمایشگاه - راه اندازی Slaves با جنکینز استاد
Lab - Setting up Slaves with Jenkins Master
آزمایشگاه - عیب یابی هنگام افزودن سرور برده
Lab - Troubleshooting while adding a slave server
آزمایشگاه - برای پروژه Slave با استفاده از Freestyle شغل ایجاد کنید
Lab - Create a job for the Slave Using Freestyle project
آزمایشگاه - برای پروژه خط لوله Slave Using یک شغل ایجاد کنید
Lab - Create a job for the Slave Using pipeline project
آزمایشگاه - ایجاد شغل برای Slave با استفاده از یک پروژه خط لوله
Lab - Create a job for Slave Using a pipeline project
تنظیمات در ماشین برده
Configurations in slave machine
آزمایشگاه - با استفاده از کلیدهای SSH بین Master و Slave ارتباط برقرار کنید
Lab - Establish connectivity between Master & Slave Using SSH keys
آزمایشگاه - عامل راه اندازی در Slave Machine
Lab - Launch agent on Slave Machine
آزمایشگاه - یک شغل برای ساخت پروژه Springboot در Slave Machine ایجاد کنید
Lab - Create a job for building a Springboot project on Slave Machine
نمایش نظرات