مقدمه
وقتی پروژه شما به یک نقطه عطف مهم میرسد (مثلاً نسخه ۱.۰)، چگونه آن را به صورت رسمی به کاربران
خود ارائه میدهید؟ کاربران نهایی معمولاً به سورس کد شما اهمیتی نمیدهند؛ آنها به یک نسخه پایدار
و قابل نصب از نرمافزار شما نیاز دارند. اینجاست که قابلیت Releases در گیتهاب
وارد میشود.
یک Release یک روش رسمی برای بستهبندی و توزیع نسخههای مختلف نرمافزار شماست. این قابلیت
بر پایه «تگهای گیت» (Git Tags) ساخته شده، اما امکانات بسیار بیشتری مانند یادداشتهای
انتشار (Release Notes) و پیوست فایلهای باینری را به آن اضافه میکند.
یک Release دقیقاً چیست؟
یک Release در گیتهاب، یک بستهبندی کامل از یک نسخه مشخص از پروژه شماست که به یک
تگ گیت الصاق شده است. یک تگ گیت، خود یک اشارهگر ثابت به یک کامیت خاص در
تاریخچه پروژه شماست (مثلاً v1.0.0).
یک Release این تگ را گرفته و آن را با موارد زیر غنیتر میکند:
- یادداشتهای انتشار (Release Notes): یک توضیح کامل با فرمت Markdown که شامل
لیستی از تغییرات، قابلیتهای جدید، باگهای رفعشده و هر اطلاعات مهم دیگری در مورد آن نسخه
است. این بخش به عنوان «لاگ تغییرات» یا Changelog برای کاربران عمل میکند.
- فایلهای باینری (Binary Assets): شما میتوانید فایلهای از پیش کامپایلشده نرمافزار
خود را (مانند فایلهای .exe برای ویندوز، .dmg برای مک، یا آرشیوهای
.zip) به Release پیوست کنید. این به کاربران اجازه میدهد تا نرمافزار را
مستقیماً دانلود و استفاده کنند، بدون اینکه نیازی به کامپایل کردن سورس کد داشته باشند.
- سورس کد: گیتهاب به صورت خودکار یک نسخه فشرده از سورس کد پروژه در همان نقطه از تاریخ
را در دو فرمت zip و tar.gz به Release اضافه میکند.
چگونه یک Release ایجاد کنیم؟
فرآیند ایجاد یک Release دو مرحله اصلی دارد: ابتدا ساختن و پوش کردن تگ در گیت، و سپس ایجاد
Release در رابط کاربری گیتهاب.
مرحله اول: ایجاد و Push کردن یک تگ
ابتدا در مخزن محلی خود، با استفاده از دستور git tag یک تگ جدید روی آخرین کامیت برنچ اصلی
خود ایجاد کنید. استفاده از آپشن -a برای ساخت یک تگ مشروح (annotated) و آپشن
-m برای افزودن پیام به آن، بسیار توصیه میشود.
git tag -a v1.0.0 -m "Version 1.0.0"
سپس، باید این تگ را به مخزن ریموت خود push کنید:
git push origin v1.0.0
مرحله دوم: ساخت Release در گیتهاب
- در صفحه اصلی مخزن خود در گیتهاب، در منوی سمت راست، روی لینک «Releases» کلیک کنید.
- روی دکمه «Draft a new release» کلیک کنید.
- در فرمی که باز میشود:
- از منوی کشویی «Choose a tag»، تگی را که در مرحله قبل push کردید
(v1.0.0) انتخاب نمایید.
- یک «Release title» وارد کنید (معمولاً همان نام تگ است).
- در بخش توضیحات، یادداشتهای انتشار خود را با فرمت Markdown بنویسید. (گیتهاب
دکمهای برای تولید خودکار این یادداشتها بر اساس Pull Requestهای ادغامشده
نیز دارد).
- در بخش «Attach binaries»، فایلهای نصبی خود را بکشید و رها کنید.
- اگر این یک نسخه آزمایشی است، گزینه «This is a pre-release» را تیک بزنید.
- در نهایت روی دکمه «Publish release» کلیک کنید.
تبریک! شما با موفقیت اولین نسخه از نرمافزار خود را منتشر کردهاید. کاربران اکنون میتوانند به
صفحه Releases پروژه شما مراجعه کرده و آن را دانلود کنند.