آموزش راهنمای کامل اقدامات و گردش کار GitHub

The Complete GitHub Actions & Workflows Guide

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: تست کد، استقرار و نسخه سازی را با استفاده از گردش کار CI/CD به صورت خودکار انجام دهید. ایجاد و انتشار اقدامات GitHub در بازار درباره نوشتن داده‌های سریالی در قالب YAML بیاموزید. گردش کار github (رویدادها، زمان‌بندی‌ها، فیلتر کردن، متغیرهای محیطی، زمینه، رمزگذاری، ماتریس و موارد دیگر) بیاموزید که چگونه می‌توان از داکر در یک گردش کاری github استفاده کرد ایجاد یک گردش کار واقعی CI/CD برای آزمایش کد، قالب‌بندی، نسخه‌سازی و موارد دیگر. برای استفاده از نسخه‌سازی معنایی برای نسخه‌سازی خودکار کد خود در گردش کار بارگذاری گزارش‌های پوشش آزمایش کد در گردش‌های کاری خود با استفاده از codecov استفاده از حافظه پنهان در گردش‌های کاری برای عملکرد سریع‌تر درباره بارگذاری مصنوع‌ها در گردش‌های کاری اطلاعاتی درباره نحوه ایجاد کنش‌های GitHub سفارشی خود با استفاده از جاوا اسکریپت یا Docker Create بیاموزید. اقدامی برای باز کردن مسائل GitHub با استفاده از جاوا اسکریپت ایجاد یک عمل برای ارسال پیام های شل با استفاده از PHP نحوه انتشار اقدامات GitHub در بازار GitHub پیش نیازها: شما باید دانش پایه GitHub داشته باشید برخی از سخنرانی ها به دانش پایه داکر نیاز دارند (اگر می خواهید از آن صرف نظر کنید لازم نیست) ایجاد اقدامات سفارشی به جاوا اسکریپت و/یا دانش داکر برای برخی از بخش ها نیاز دارد برخی موارد باید روی دستگاه شما نصب شوند. : nodejs, npm, docker, composer, php.

GitHub اخیراً "GitHub Actions" را منتشر کرده است، یک رقیب سرویس CI برای سرویس هایی مانند TravisCI و CircleCI. با این حال GitHub Actions دارای مزیت ادغام بومی با مخزن GitHub شماست. علاوه بر آن، به لطف محبوبیت GitHub؛ GitHub Actions دارای مزیت داشتن اکوسیستم و جامعه بزرگ است. با استفاده از GitHub Actions، گردش‌های کاری از پیش ساخته شده رسمی و اجتماعی و همچنین بازار اکشن‌ها را خواهید دید. در بازار کنش‌ها می‌توانید تعداد زیادی کنش را پیدا کنید که تکه‌های کد قابل استفاده مجدد هستند که می‌توانید در گردش‌های کاری خود برای انجام کارهای خاصی مانند استقرار کد، تعامل با API، ارسال پیامک و غیره استفاده کنید...


همه چیزهایی را که برای ایجاد اکشن های گردش کار GitHub نیاز دارید بدانید.

در این دوره ما به طور جامع سرویس CI GitHub را بررسی خواهیم کرد. ما یاد خواهیم گرفت که اقدامات گردش کار GitHub چیست. و ما هر کاری را که می‌توانیم در یک گردش کاری GitHub انجام دهیم، کشف خواهیم کرد، از جمله نحوه اجرای دستورات، استفاده از اقدامات، راه‌اندازی گردش‌های کاری، ساخت ماتریس، فیلتر به شاخه و موارد دیگر. سپس از چیزهایی که یاد گرفتیم برای ایجاد یک مثال واقعی از گردش کار CI/CD استفاده خواهیم کرد که در آن کد خود را آزمایش، ساخت، استقرار و موارد دیگر خواهیم کرد. و در نهایت ما یاد خواهیم گرفت که چگونه اقدامات سفارشی بنویسیم و آنها را در بازار منتشر کنیم تا افراد دیگر بتوانند از آن استفاده کنند.


بیایید نگاهی به آنچه در هر بخش با جزئیات بیشتر مورد بحث قرار خواهد گرفت:

بخش 1

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

بخش 2

در بخش 2 کمی عمیق‌تر می‌شویم و روش‌های مختلفی را یاد می‌گیریم که می‌توانیم از آنها برای راه‌اندازی یک گردش کار برای اجرا استفاده کنیم. این شامل رویدادهای GitHub مانند push و pull_request، برنامه‌های cron و همچنین رویدادهای خارجی است. همچنین خواهیم دید که چگونه یک گردش کار را فقط برای شاخه‌ها، تگ‌ها و مسیرهای دایرکتوری خاص اجرا کنیم.

بخش 3

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

بخش 4

در بخش 4 خواهیم دید که چگونه می‌توان ماتریس‌ها را تنظیم کرد، ماتریس راهی برای اجرای یک کار چندین بار اما با استفاده از محیط‌های مختلف است. همچنین یاد خواهیم گرفت که چگونه از docker در مشاغل و مراحل خود استفاده کنیم و چگونه چندین سرویس docker را در شغل خود اجرا کنیم.

بخش 5

در بخش 5 در نهایت از دانش خود برای ایجاد یک نمونه CI/CD واقعی تر استفاده خواهیم کرد. ما یک مخزن راه اندازی خواهیم کرد که در آن یک برنامه وب داریم و باید جریانی برای تولید و استقرار توسعه داشته باشیم. بنابراین ما 2 شعبه خواهیم داشت، یکی برای تولید و دیگری برای توسعه و برای هر یک از این شاخه ها یک گردش کار برای انجام کارهای خاصی می نویسیم. این موارد بسته به اینکه ما به سمت تولید و یا شاخه توسعه فشار می آوریم متفاوت خواهد بود. ما همچنین یک گردش کاری خواهیم داشت که اگر کسی یک درخواست کشش را باز کند اجرا می شود. کارهایی که ما انجام خواهیم داد عبارتند از: نصب وابستگی ها، ذخیره سازی حافظه پنهان، آزمایش، بررسی قالب کد، آپلود مصنوعات، تولید خودکار یک نسخه معنایی، استقرار در تولید/مرحله سازی، ایجاد نسخه ها، مشکلات باز کردن، ارسال اعلان های شل و غیره.

بخش 6

در طول دوره از برخی اقدامات موجود در بازار استفاده خواهیم کرد. در این بخش یاد خواهیم گرفت که چگونه اقدامات خود را ایجاد کنیم. اقدامات را می توان با استفاده از جاوا اسکریپت یا با استفاده از Docker ایجاد کرد. در این بخش قصد داریم در مورد هر دو روش بیاموزیم و سپس یک اکشن جاوا اسکریپت ایجاد می کنیم که مشکلات GitHub را باز می کند و یک عمل داکر که یک پیام شل ارسال می کند که با استفاده از PHP می نویسیم.



سرفصل ها و درس ها

معرفی Introduction

  • کد منبع دوره Course Source Code

  • کد منبع دوره Course Source Code

  • مقدمه ای بر گردش کار و اقدامات GitHub Introduction to GitHub Workflows & Actions

  • مقدمه ای بر گردش کار و اقدامات GitHub Introduction to GitHub Workflows & Actions

  • مقدمه ای کوتاه بر نوشتن در قالب YAML A Brief Introduction to Writing in YAML Format

  • مقدمه ای کوتاه بر نوشتن در قالب YAML A Brief Introduction to Writing in YAML Format

  • بیایید اولین گردش کاری خود را ایجاد کنیم Let's Create Our First Workflow

  • استفاده از پوسته های مختلف برای هر مرحله Using Different Shells for Each Step

  • استفاده از پوسته های مختلف برای هر مرحله Using Different Shells for Each Step

  • با استفاده از یک اقدام ساده Using a Simple Action

  • اقدام پرداخت The Checkout Action

  • اقدام پرداخت The Checkout Action

  • یادداشت سریع! Quick Note!

  • یادداشت سریع! Quick Note!

معرفی Introduction

  • بیایید اولین گردش کاری خود را ایجاد کنیم Let's Create Our First Workflow

  • با استفاده از یک اقدام ساده Using a Simple Action

  • یادداشت سریع! Quick Note!

رویدادها، زمان‌بندی‌ها، رویدادهای خارجی و فیلترهایی که می‌توانند جریان کار را راه‌اندازی کنند Events, Schedules, External Events & Filters that can Trigger a Workflow Run

  • راه اندازی یک گردش کار با رویدادها و انواع فعالیت های Github Triggering a Workflow with Github Events & Activity Types

  • تنظیم زمانبندی برای راه اندازی گردش کار Setting a Schedule to Trigger Workflows

  • دانش Cron Expression خود را تست کنید Test Your Cron Expression Knowledge

  • راه‌اندازی گردش‌های کاری دستی با استفاده از رویداد اعزام مخزن Triggering Workflows Manually Using the Repository Dispatch Event

  • فیلتر کردن گردش کار بر اساس شاخه ها، برچسب ها و مسیرها Filtering Workflows by Branches, Tags & Paths

  • فیلتر کردن گردش کار بر اساس شاخه ها، برچسب ها و مسیرها Filtering Workflows by Branches, Tags & Paths

  • امتحان فیلترینگ گردش کار! Workflows Filtering Quiz!

  • امتحان فیلترینگ گردش کار! Workflows Filtering Quiz!

رویدادها، زمان‌بندی‌ها، رویدادهای خارجی و فیلترهایی که می‌توانند جریان کار را راه‌اندازی کنند Events, Schedules, External Events & Filters that can Trigger a Workflow Run

  • راه اندازی یک گردش کار با رویدادها و انواع فعالیت های Github Triggering a Workflow with Github Events & Activity Types

  • تنظیم زمانبندی برای راه اندازی گردش کار Setting a Schedule to Trigger Workflows

  • دانش Cron Expression خود را تست کنید Test Your Cron Expression Knowledge

  • راه‌اندازی گردش‌های کاری دستی با استفاده از رویداد اعزام مخزن Triggering Workflows Manually Using the Repository Dispatch Event

متغیرهای محیطی، رمزگذاری، عبارات و زمینه Environment Variables, Encryption, Expressions & Context

  • متغیرهای محیطی پیش فرض و سفارشی Default & Custom Environment Variables

  • متغیرهای محیطی پیش فرض و سفارشی Default & Custom Environment Variables

  • رمزگذاری متغیرهای محیطی Encrypting Environment Variables

  • استفاده از راز GITHUB_TOKEN برای احراز هویت Using the GITHUB_TOKEN Secret for Authentication

  • رمزگذاری و رمزگشایی فایل ها Encrypting & Decrypting Files

  • رمزگذاری و رمزگشایی فایل ها Encrypting & Decrypting Files

  • عبارات و زمینه ها Expressions & Contexts

  • استفاده از توابع در عبارات Using Functions in Expressions

  • کلید If و عملکردهای بررسی وضعیت شغلی The If key & Job Status Check Functions

متغیرهای محیطی، رمزگذاری، عبارات و زمینه Environment Variables, Encryption, Expressions & Context

  • رمزگذاری متغیرهای محیطی Encrypting Environment Variables

  • استفاده از راز GITHUB_TOKEN برای احراز هویت Using the GITHUB_TOKEN Secret for Authentication

  • عبارات و زمینه ها Expressions & Contexts

  • استفاده از توابع در عبارات Using Functions in Expressions

  • کلید If و عملکردهای بررسی وضعیت شغلی The If key & Job Status Check Functions

استفاده از کانتینرهای استراتژی، ماتریس و داکر در مشاغل Using Strategy, Matrix & Docker Containers in Jobs

  • ادامه در خطا و دقیقه زمان Continue on Error & Timeout Minutes

  • ادامه در خطا و دقیقه زمان Continue on Error & Timeout Minutes

  • با استفاده از Setup-node Action Using the setup-node Action

  • با استفاده از Setup-node Action Using the setup-node Action

  • ایجاد یک ماتریس برای اجرای یک شغل با محیط های مختلف Creating a Matrix for Running a Job with Different Environments

  • شامل و حذف تنظیمات ماتریس Including & Excluding Matrix Configurations

  • شامل و حذف تنظیمات ماتریس Including & Excluding Matrix Configurations

  • استفاده از Docker Containers در Jobs Using Docker Containers in Jobs

  • مروری بر یک API ساده Dockerized NodeJS An Overview of a Simple Dockerized NodeJS API

  • اجرای چندین سرویس Docker در گردش کار ما Running Multiple Docker Services in our Workflows

  • اجرای چندین سرویس Docker در گردش کار ما Running Multiple Docker Services in our Workflows

  • اجرای کانتینرهای داکر در مراحل جداگانه Running Docker Containers in Individual Steps

  • اجرای کانتینرهای داکر در مراحل جداگانه Running Docker Containers in Individual Steps

  • ایجاد فایل اجرایی خودمان و اجرای آن در مراحل خود Creating our Own Executable File and Running it in our Steps

  • ارسال پیام Slack با استفاده از Docker Container Sending a Slack Message Using a Docker Container

  • ارسال پیام Slack با استفاده از Docker Container Sending a Slack Message Using a Docker Container

استفاده از کانتینرهای استراتژی، ماتریس و داکر در مشاغل Using Strategy, Matrix & Docker Containers in Jobs

  • ایجاد یک ماتریس برای اجرای یک شغل با محیط های مختلف Creating a Matrix for Running a Job with Different Environments

  • استفاده از Docker Containers در Jobs Using Docker Containers in Jobs

  • مروری بر یک API ساده Dockerized NodeJS An Overview of a Simple Dockerized NodeJS API

  • ایجاد فایل اجرایی خودمان و اجرای آن در مراحل خود Creating our Own Executable File and Running it in our Steps

ایجاد یک گردش کار CI/CD برای خودکارسازی تست و استقرار Creating a CI/CD Workflow to Automate Testing and Deployment

  • ایجاد یک برنامه ReactJS Boilerplate Creating a ReactJS Boilerplate Application

  • ایجاد یک برنامه ReactJS Boilerplate Creating a ReactJS Boilerplate Application

  • ساخت و آزمایش برنامه به صورت محلی Building & Testing the Application Locally

  • استقرار برنامه با استفاده از Surge Deploying the Application using Surge

  • استقرار برنامه با استفاده از Surge Deploying the Application using Surge

  • استفاده از Prettier برای بررسی قوانین قالب بندی کد Using Prettier to Check for Code Formatting Rules

  • بیایید برنامه گردش کار خود را مورد بحث قرار دهیم Let's Discuss Our Workflow Plan

  • بیایید برنامه گردش کار خود را مورد بحث قرار دهیم Let's Discuss Our Workflow Plan

  • راه اندازی مخزن ما Setting Up Our Repository

  • راه اندازی مخزن ما Setting Up Our Repository

  • ایجاد گردش کار درخواست های کشش توسعه Creating the Develop Pull Requests Workflow

  • ایجاد گردش کار درخواست های کشش توسعه Creating the Develop Pull Requests Workflow

  • ایجاد گردش کار درخواست کشش ادغام توسعه Creating the Develop Merge Pull Request Workflow

  • ذخیره سازی وابستگی های NPM Caching NPM Dependencies

  • ذخیره سازی وابستگی های NPM Caching NPM Dependencies

  • تصحیح Correction

  • بارگذاری مصنوعات در گردش کار ما Uploading Artifacts in Our Workflows

  • بارگذاری مصنوعات در گردش کار ما Uploading Artifacts in Our Workflows

  • نسخه‌سازی معنایی و تعهدات متعارف Semantic Versioning & Conventional Commits

  • نسخه‌سازی معنایی و تعهدات متعارف Semantic Versioning & Conventional Commits

  • نصب semantic-release در پروژه ما Installing semantic-release in Our Project

  • اجرای انتشار معنایی در گردش کار ما Running semantic-release in Our Workflow

  • اجرای انتشار معنایی در گردش کار ما Running semantic-release in Our Workflow

  • بارگذاری دارایی های انتشار Uploading Release Assets

  • بارگذاری دارایی های انتشار Uploading Release Assets

  • استقرار در تولید هنگام هل دادن به استاد Deploying to Production when Pushing to Master

  • بارگذاری گزارش های پوشش کد در Codecov Uploading Code Coverage Reports to Codecov

  • بارگذاری گزارش های پوشش کد در Codecov Uploading Code Coverage Reports to Codecov

  • یادداشت سریع Quick Note

  • یادداشت سریع Quick Note

  • اعتبار سنجی پیام های تعهد ما با Commitlint & Commitizen Validating Our Commit Messages with Commitlint & Commitizen

  • ارسال پیام Slack هنگام انتشار نسخه جدید Sending a Slack Message When a New Release is Published

  • باز کردن یک مشکل خودکار زمانی که گردش کار ناموفق است Opening an Automated Issue when the Workflow Fails

  • باز کردن یک مشکل خودکار زمانی که گردش کار ناموفق است Opening an Automated Issue when the Workflow Fails

  • افزودن نشان وضعیت در README.md Adding a Status Badge in README.md

  • افزودن نشان وضعیت در README.md Adding a Status Badge in README.md

ایجاد یک گردش کار CI/CD برای خودکارسازی تست و استقرار Creating a CI/CD Workflow to Automate Testing and Deployment

  • ساخت و آزمایش برنامه به صورت محلی Building & Testing the Application Locally

  • استفاده از Prettier برای بررسی قوانین قالب بندی کد Using Prettier to Check for Code Formatting Rules

  • ایجاد گردش کار درخواست کشش ادغام توسعه Creating the Develop Merge Pull Request Workflow

  • تصحیح Correction

  • نصب semantic-release در پروژه ما Installing semantic-release in Our Project

  • استقرار در تولید هنگام هل دادن به استاد Deploying to Production when Pushing to Master

  • اعتبار سنجی پیام های تعهد ما با Commitlint & Commitizen Validating Our Commit Messages with Commitlint & Commitizen

  • ارسال پیام Slack هنگام انتشار نسخه جدید Sending a Slack Message When a New Release is Published

ایجاد اقدامات GitHub خودمان Creating Our Own GitHub Actions

  • نمای کلی اقدامات Github Github Actions Overview

  • ایجاد یک اکشن ساده جاوا اسکریپت Creating a Simple JavaScript Action

  • ایجاد یک اکشن ساده جاوا اسکریپت Creating a Simple JavaScript Action

  • کد جاوا اسکریپت خود را در 1 فایل قرار می دهیم Bundling our JavaScript Code into 1 File

  • بیایید درباره بسته @github/core بیشتر کشف کنیم Let's Discover More About the @github/core Package

  • بیایید درباره بسته @github/core بیشتر کشف کنیم Let's Discover More About the @github/core Package

  • ایجاد یک اکشن جاوا اسکریپت برای باز کردن مشکلات Github Creating a JavaScript Action for Opening Github Issues

  • ایجاد یک اکشن Docker ساده Creating a Simple Docker Action

  • ایجاد یک اکشن Docker ساده Creating a Simple Docker Action

  • یادداشت سریع! Quick Note!

  • یادداشت سریع! Quick Note!

  • ایجاد یک اسکریپت PHP برای ارسال یک پیام Slack Creating a PHP Script for Sending a Slack Message

  • اجرای اسکریپت PHP با استفاده از یک Docker Action Running our PHP Script using a Docker Action

  • پر کردن ورودی ها و اطلاعات زمینه با استفاده از متغیرهای محیطی Populating our Inputs and Context Information Using Environment Variables

  • پر کردن ورودی ها و اطلاعات زمینه با استفاده از متغیرهای محیطی Populating our Inputs and Context Information Using Environment Variables

  • انتشار اقدامات Github در بازار Publishing Github Actions into the Marketplace

  • سخنرانی پاداش Bonus Lecture

ایجاد اقدامات GitHub خودمان Creating Our Own GitHub Actions

  • نمای کلی اقدامات Github Github Actions Overview

  • کد جاوا اسکریپت خود را در 1 فایل قرار می دهیم Bundling our JavaScript Code into 1 File

  • ایجاد یک اکشن جاوا اسکریپت برای باز کردن مشکلات Github Creating a JavaScript Action for Opening Github Issues

  • یادداشت سریع! Quick Note!

  • ایجاد یک اسکریپت PHP برای ارسال یک پیام Slack Creating a PHP Script for Sending a Slack Message

  • اجرای اسکریپت PHP با استفاده از یک Docker Action Running our PHP Script using a Docker Action

  • انتشار اقدامات Github در بازار Publishing Github Actions into the Marketplace

  • سخنرانی پاداش Bonus Lecture

نمایش نظرات

Udemy (یودمی)

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

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

آموزش راهنمای کامل اقدامات و گردش کار GitHub
جزییات دوره
8 hours
63
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
19,071
4.5 از 5
ندارد
دارد
دارد
Ali Alaa
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Ali Alaa Ali Alaa

توسعه دهنده وب فرانت اند