{"id":846,"date":"2025-10-06T13:14:52","date_gmt":"2025-10-06T09:44:52","guid":{"rendered":"https:\/\/rayka-co.ir\/new\/?post_type=lesson&#038;p=846"},"modified":"2025-11-09T11:58:31","modified_gmt":"2025-11-09T08:28:31","slug":"16-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%b9%d9%85%d9%84%db%8c-%d8%a8%d8%a7-self-hosted-runner-%d9%88-runner-labels-%d8%af%d8%b1-github","status":"publish","type":"lesson","link":"https:\/\/rayka-co.ir\/new\/\u062f\u0631\u0633\/16-%d8%a2%d8%b4%d9%86%d8%a7%db%8c%db%8c-%d8%b9%d9%85%d9%84%db%8c-%d8%a8%d8%a7-self-hosted-runner-%d9%88-runner-labels-%d8%af%d8%b1-github\/","title":{"rendered":"\u06f1\u06f6. \u0622\u0634\u0646\u0627\u06cc\u06cc \u0639\u0645\u0644\u06cc \u0628\u0627 Self-Hosted Runner \u0648 Runner Labels \u062f\u0631 GitHub"},"content":{"rendered":"\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0627\u0632 \u062f\u0631\u0633\u060c \u062f\u0627\u0646\u0634\u062c\u0648\u06cc\u0627\u0646 \u0628\u0627 \u0645\u0641\u0647\u0648\u0645 <strong>GitHub Self-Hosted Runner<\/strong> \u0648 <strong>Runner Labels<\/strong> \u0622\u0634\u0646\u0627 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0648 \u06cc\u0627\u062f \u0645\u06cc\u200c\u06af\u06cc\u0631\u0646\u062f \u0686\u06af\u0648\u0646\u0647 \u0648\u0638\u0627\u06cc\u0641 (jobs) \u062a\u0639\u0631\u06cc\u0641\u200c\u0634\u062f\u0647 \u062f\u0631 \u06cc\u06a9 <strong>GitHub Actions Workflow<\/strong> \u0631\u0627 \u0631\u0648\u06cc \u0633\u0631\u0648\u0631 \u06cc\u0627 \u0645\u0627\u0634\u06cc\u0646 \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u062e\u0648\u062f \u0627\u062c\u0631\u0627 \u06a9\u0646\u0646\u062f. \u0627\u0628\u062a\u062f\u0627 \u062a\u0648\u0636\u06cc\u062d \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u06a9\u0647 \u0647\u0631 Runner \u0645\u06cc\u200c\u062a\u0648\u0627\u0646\u062f \u062f\u0627\u0631\u0627\u06cc \u0628\u0631\u0686\u0633\u0628\u200c\u0647\u0627\u06cc\u06cc (Labels) \u0628\u0627\u0634\u062f \u06a9\u0647 \u0628\u0631\u0627\u06cc \u0645\u0634\u062e\u0635 \u06a9\u0631\u062f\u0646 \u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0622\u0646 (\u0645\u062b\u0644 \u0633\u06cc\u0633\u062a\u0645\u200c\u0639\u0627\u0645\u0644 \u06cc\u0627 \u0645\u0646\u0627\u0628\u0639 \u0633\u062e\u062a\u200c\u0627\u0641\u0632\u0627\u0631\u06cc) \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u0646\u062f. \u0633\u067e\u0633 \u062f\u0627\u0646\u0634\u062c\u0648\u06cc\u0627\u0646 \u0645\u06cc\u200c\u0628\u06cc\u0646\u0646\u062f \u06a9\u0647 \u0686\u06af\u0648\u0646\u0647 GitHub \u0628\u0631 \u0627\u0633\u0627\u0633 \u0627\u06cc\u0646 \u0628\u0631\u0686\u0633\u0628\u200c\u0647\u0627 \u062a\u0635\u0645\u06cc\u0645 \u0645\u06cc\u200c\u06af\u06cc\u0631\u062f \u0647\u0631 Job \u0631\u0648\u06cc \u06a9\u062f\u0627\u0645 Runner \u0627\u062c\u0631\u0627 \u0634\u0648\u062f.<\/p>\n\n\n\n<p>\u062f\u0631 \u0627\u062f\u0627\u0645\u0647\u060c \u06af\u0627\u0645\u200c\u0628\u0647\u200c\u06af\u0627\u0645 \u0646\u062d\u0648\u0647\u200c\u06cc \u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06cc\u06a9 Runner \u0627\u062e\u062a\u0635\u0627\u0635\u06cc \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0645\u062d\u0644\u06cc \u0622\u0645\u0648\u0632\u0634 \u062f\u0627\u062f\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f \u2014 \u0627\u0632 \u062f\u0627\u0646\u0644\u0648\u062f \u0628\u0633\u062a\u0647\u200c\u06cc Runner \u0648 \u0627\u062a\u0635\u0627\u0644 \u0622\u0646 \u0628\u0647 \u0645\u062e\u0632\u0646 GitHub \u062a\u0627 \u0627\u062c\u0631\u0627\u06cc \u0627\u0648\u0644\u06cc\u0646 Workflow. \u0647\u0645\u0686\u0646\u06cc\u0646 \u062f\u0648 \u0645\u062b\u0627\u0644 \u0639\u0645\u0644\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f: \u062f\u0631 \u0645\u062b\u0627\u0644 \u0627\u0648\u0644\u060c Job \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0631\u0648\u06cc Runner \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u0634\u0648\u062f\u061b \u062f\u0631 \u0645\u062b\u0627\u0644 \u062f\u0648\u0645\u060c Job \u062f\u0631 \u0642\u0627\u0644\u0628 \u06cc\u06a9 <strong>\u06a9\u0627\u0646\u062a\u06cc\u0646\u0631 Docker<\/strong> \u0631\u0648\u06cc \u0647\u0645\u0627\u0646 Runner \u0627\u062c\u0631\u0627 \u0645\u06cc\u200c\u06af\u0631\u062f\u062f. \u0627\u06cc\u0646 \u0628\u062e\u0634 \u0628\u0647 \u062f\u0627\u0646\u0634\u062c\u0648\u06cc\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u062f \u062f\u0631\u06a9 \u062f\u0642\u06cc\u0642\u06cc \u0627\u0632 \u0646\u062d\u0648\u0647\u200c\u06cc \u06a9\u0646\u062a\u0631\u0644 \u0645\u062d\u06cc\u0637 \u0627\u062c\u0631\u0627\u06cc Workflow\u0647\u0627\u060c \u0645\u062f\u06cc\u0631\u06cc\u062a \u0645\u0646\u0627\u0628\u0639\u060c \u0648 \u06a9\u0627\u0631\u0628\u0631\u062f \u0639\u0645\u0644\u06cc Runner\u0647\u0627 \u062f\u0631 \u0641\u0631\u0622\u06cc\u0646\u062f\u0647\u0627\u06cc CI\/CD \u0628\u0647 \u062f\u0633\u062a \u0622\u0648\u0631\u0646\u062f.<br>\u0645\u0648\u0627\u0631\u062f\u06cc \u06a9\u0647 \u062f\u0631 \u0627\u06cc\u0646 \u062f\u0631\u0633 \u0628\u062d\u062b \u0648 \u067e\u06cc\u0627\u062f\u0647\u200c\u0633\u0627\u0632\u06cc \u0645\u06cc\u200c\u0634\u0648\u0646\u062f \u0639\u0628\u0627\u0631\u062a\u0646\u062f \u0627\u0632<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0622\u0634\u0646\u0627\u06cc\u06cc \u0628\u0627 \u0645\u0641\u0647\u0648\u0645 GitHub Runner \u0648 \u0646\u0642\u0634 \u0622\u0646 \u062f\u0631 \u0627\u062c\u0631\u0627\u06cc Workflow\u200c\u0647\u0627<\/li>\n\n\n\n<li>\u062f\u0631\u06a9 \u0645\u0641\u0647\u0648\u0645 Runner Labels \u0648 \u0646\u062d\u0648\u0647\u200c\u06cc \u0627\u0646\u062a\u062e\u0627\u0628 Runner \u0628\u0631 \u0627\u0633\u0627\u0633 \u0628\u0631\u0686\u0633\u0628\u200c\u0647\u0627<\/li>\n\n\n\n<li>\u0646\u0635\u0628 \u0648 \u067e\u06cc\u06a9\u0631\u0628\u0646\u062f\u06cc \u06cc\u06a9 Self-Hosted Runner \u0631\u0648\u06cc \u0633\u06cc\u0633\u062a\u0645 \u0645\u062d\u0644\u06cc<\/li>\n\n\n\n<li>\u0627\u062a\u0635\u0627\u0644 Runner \u0628\u0647 GitHub \u0648 \u0627\u062c\u0631\u0627\u06cc \u0627\u0648\u0644\u06cc\u0646 Workflow<\/li>\n\n\n\n<li>\u0627\u062c\u0631\u0627\u06cc Job\u0647\u0627 \u0645\u0633\u062a\u0642\u06cc\u0645\u0627\u064b \u0631\u0648\u06cc Runner (\u0628\u062f\u0648\u0646 \u06a9\u0627\u0646\u062a\u06cc\u0646\u0631)<\/li>\n\n\n\n<li>\u0627\u062c\u0631\u0627\u06cc Job\u0647\u0627 \u062f\u0627\u062e\u0644 \u06cc\u06a9 Docker Container \u0631\u0648\u06cc Runner<\/li>\n<\/ul>\n\n\n<div class=\"sensei-block-wrapper\">\n<div class=\"wp-block-sensei-lms-lesson-actions\"><div class=\"sensei-buttons-container\">\n\n\n\n\n\n\n\n<\/div><\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"_initial_content":"","_new_post":false,"_quiz_has_questions":false,"_lesson_complexity":"easy","_lesson_length":10,"_lesson_course":338,"_lesson_preview":"preview"},"lesson-tag":[],"class_list":["post-846","lesson","type-lesson","status-publish","hentry","module-ci-cd-with-forgejo","post"],"_links":{"self":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons\/846","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons"}],"about":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/types\/lesson"}],"replies":[{"embeddable":true,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/comments?post=846"}],"version-history":[{"count":3,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons\/846\/revisions"}],"predecessor-version":[{"id":977,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lessons\/846\/revisions\/977"}],"wp:attachment":[{"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/media?parent=846"}],"wp:term":[{"taxonomy":"lesson-tag","embeddable":true,"href":"https:\/\/rayka-co.ir\/new\/wp-json\/wp\/v2\/lesson-tag?post=846"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}