انتشار و ابزارهای GitHub
این مقاله بخش سوم و آخر سهگانهی GitHub ـه. تو بخش اول با مفاهیم پایه و تو بخش دوم با دستورهای عملی Git آشنا شدی. حالا وقتشه پروژهت رو منتشر کنی، اکانتت رو امن نگه داری و با یکی از قدرتمندترین ابزارهای GitHub آشنا بشی.
فهرست مطالب
- GitHub Pages چیست؟
- راهاندازی قدمبهقدم
- دامنهی اختصاصی (اختیاری)
- امنیت اکانت
- فعال کردن احراز هویت دو مرحلهای
- GitHub Actions چیست؟
- یه نمونهی ساده از Actions
- جمعبندی
GitHub Pages چیست؟
GitHub Pages یه سرویس رایگانه که به هر ریپازیتوری اجازه میده بهعنوان یه سایت استاتیک منتشر بشه. «استاتیک» یعنی فایلهای HTML، CSS و جاوااسکریپت ساده، بدون نیاز به دیتابیس یا سرور برنامهنویسی. همین سایتی که الان داری میخونی، دقیقاً با همین سرویس منتشر شده.
راهاندازی قدمبهقدم
- وارد ریپازیتوریای بشو که میخوای منتشرش کنی.
- از بالای صفحهی ریپازیتوری، وارد تب Settings بشو.
- از منوی سمت چپ، گزینهی Pages رو بزن (زیر بخش «Code and automation»).
- زیر Build and deployment، از منوی Source گزینهی «Deploy from a branch» رو انتخاب کن.
- از منوی Branch، برنچی که میخوای منتشر بشه رو انتخاب کن (معمولاً
main)، و مشخص کن از کدوم پوشه منتشر بشه: ریشهی ریپازیتوری (/ (root)) یا پوشهی/docs. - دکمهی Save رو بزن.
- بعد از حدود یک دقیقه، همون صفحه رو رفرش کن؛ آدرس سایتت بالای صفحه با یه دکمهی «Visit site» ظاهر میشه.
آدرس پیشفرض سایتت به این شکله:
https://username.github.io/repository-name/
اگه اسم ریپازیتوری دقیقاً username.github.io باشه (یعنی همون اسم اکانتت بهعلاوهی .github.io)، سایتت مستقیم روی https://username.github.io منتشر میشه، بدون هیچ پسوند اضافه.
هر بار که تغییری رو به برنچ منتخب push کنی، GitHub Pages خودش بهطور خودکار سایت رو با نسخهی جدید بهروزرسانی میکنه؛ معمولاً چند ثانیه تا چند دقیقه طول میکشه.
دامنهی اختصاصی (اختیاری)
اگه بخوای بهجای آدرس github.io، از یه دامنهی شخصی (مثل mozouni.ir) استفاده کنی، همون بخش Pages تو Settings یه فیلد به اسم Custom domain داره. دامنه رو اونجا وارد میکنی و بعد باید تو پنل مدیریت
دامنهت (جایی که دامنه رو خریدی) رکوردهای DNS مناسب (معمولاً از نوع CNAME یا A) رو به سمت GitHub تنظیم کنی. جزئیات دقیق این بخش بسته به ارائهدهندهی دامنه فرق میکنه، پس بهتره مستندات رسمی GitHub دربارهی
«Managing a custom domain» رو موقع انجامش کنار دست داشته باشی.
امنیت اکانت
وقتی کدی که سالها روش کار کردی روی یه اکانت GitHub نگهداری میشه، امنیت همون اکانت اهمیت پیدا میکنه. چند تا عادت ساده:
- یه رمز عبور قوی و یکتا برای اکانت GitHubت استفاده کن، نه رمزی که جای دیگه هم داری.
- احراز هویت دو مرحلهای (2FA) رو فعال کن (بخش بعد).
- بهجای رمز عبور برای دستورهای Git، از Personal Access Token یا SSH key استفاده کن؛ GitHub دیگه اجازهی ورود با رمز عبور ساده رو برای عملیات Git نمیده.
- دسترسی اپلیکیشنها و سرویسهای ثالثی که به اکانتت وصل کردی رو گاهبهگاه از Settings مرور کن و مواردی که دیگه استفاده نمیکنی رو حذف کن.
فعال کردن احراز هویت دو مرحلهای
با 2FA، حتی اگه رمز عبورت لو بره، یه نفر دیگه بدون دسترسی به گوشی یا اپلیکیشن احراز هویتت نمیتونه وارد اکانتت بشه. مراحل کلی:
- وارد اکانتت شو و برو به Settings (روی عکس پروفایل خودت، نه ریپازیتوری).
- از منوی سمت چپ، Password and authentication رو بزن.
- کنار «Two-factor authentication»، روی Enable two-factor authentication بزن.
- یه روش انتخاب کن — معمولاً یه اپلیکیشن احراز هویت (مثل Google Authenticator یا Authy) که کد یکبارمصرف تولید میکنه، یا کلید امنیتی فیزیکی.
- مراحل تأیید رو طبق راهنمای خود GitHub تکمیل کن.
- کدهای بازیابی (Recovery codes) رو حتماً یهجای امن ذخیره کن؛ اگه دسترسیت به روش اصلی رو از دست بدی، این کدها تنها راه برگشتته.
GitHub Actions چیست؟
GitHub Actions ابزاریه برای خودکارسازی کارها، مستقیم داخل ریپازیتوری. با یه فایل تنظیمات (به فرمت YAML)، به GitHub میگی وقتی یه اتفاق خاص افتاد (مثلاً push به برنچ main، باز شدن یه Pull Request، یا حتی طبق زمانبندی) چه کاری انجام بده — مثلاً اجرای تستها، ساخت (build) پروژه، یا حتی deploy کردن سایت.
فایلهای تنظیمات Actions داخل پوشهی .github/workflows/ از ریپازیتوری قرار میگیرن. هر فایل یه workflow جداست.
برای همین سایت GitHub Pages، اگه توی تنظیمات Pages بهجای «Deploy from a branch»، گزینهی «GitHub Actions» رو انتخاب کنی، GitHub خودش یه workflow آماده پیشنهاد میده که با هر push سایت رو build و منتشر میکنه.
یه نمونهی ساده از Actions
این یه نمونهی خیلی سادهست که فقط یه پیام چاپ میکنه، هر بار که کسی به برنچ main پوش کنه:
name: Say Hello
on:
push:
branches: [main]
jobs:
hello:
runs-on: ubuntu-latest
steps:
- name: Print a message
run: echo "یه تغییر جدید به main اضافه شد!"
این فایل رو به اسم مثلاً hello.yml داخل .github/workflows/ ذخیره میکنی و commit میکنی. از این به بعد هر push به main باعث اجرای این workflow میشه؛ نتیجهش رو میتونی از تب Actions بالای صفحهی
ریپازیتوری ببینی.
Actions کاربردهای خیلی بیشتری هم داره: اجرای خودکار تستها، بررسی سبک کد (lint)، ساختن و publish کردن یه پکیج، یا حتی — همونطور که تو مقالهی GitHub Agentic Workflows خوندی — اجرای یه Agent هوش مصنوعی برای کارهای پیچیدهتر.
جمعبندی
با این سه مقاله، هم مفاهیم پایهای GitHub رو یاد گرفتی، هم دستورهای روزمرهی Git رو تمرین کردی، و هم حالا میدونی چطور یه سایت رو با GitHub Pages منتشر کنی، اکانتت رو امن نگه داری و از GitHub Actions برای خودکارسازی کارها استفاده کنی. اگه دنبال یه قدم جلوتری، مقالهی GitHub Agentic Workflows نشونت میده چطور همین Actions رو با کمک هوش مصنوعی و زبان ساده بنویسی.