برنامه نویسی

به طور خودکار اقدامات قدیمی GitHub را حذف کنید

در ابتدا در pooyan.info نوشته شده است

نویسنده کیست؟ نمایه من را در LinkedIn بررسی کنید.

در این مقاله ما یک روش کارآمد برای حذف اقدامات قدیمی GitHub را یاد خواهیم گرفت.

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

اقدامات GitHub اجراهای جریان کار شما است. آنها را می توان با فشار دادن یک تعهد یا ایجاد درخواست کشش ، یا در یک برنامه و غیره براساس نحوه تعریف آن در پرونده های پیکربندی گردش کار خود آغاز کرد. این پرونده های پیکربندی به عنوان یک دستور العمل یا یک طرح عمل می کنند و هر اجرا نمونه ای از آن دستور العمل است. (شبیه به کلاس VS Object اگر شما یک برنامه نویس هستید) هر بار که یک گردش کار ایجاد می شود ، یک اجرای جدید ایجاد می شود ، و می توانید لیست Runs را در برگه اقدامات مخزن خود مشاهده کنید.

نحوه حذف اقدامات قدیمی GitHub اجرا می شود

یکی از راه های حذف سیاهههای مربوط و مصنوعات قدیمی ، تعیین یک سیاست حفظ جهانی برای همه مخازن سازمان شما است. این کار را می توان با مراجعه به تنظیمات سازمان انجام داد و این را تنظیم کرد: سیاست نگهداری را برای همه مخازن یک سازمان تعیین کنید مشکل این رویکرد این است که شما نمی توانید به طرز مهمی سیاست حفظ برای هر مخزن تعیین کنید. همچنین ، باید توسط یک مدیر سطح org انجام شود. بنابراین ، اگر دسترسی به تنظیم این خط مشی برای ارگ خود ندارید ، یا می خواهید یک نگهدارنده متفاوت را تنظیم کنید ، یا باید آن را به صورت دستی انجام دهید ، با باز کردن برگه اقدامات مخزن خود و حذف همه آنها به صورت دستی یک به یک ، که می تواند وقت گیر باشد ، یا باید راه حل خود را برای تماس با API GitHub بسازید تا لیست را به لیست خود بسازید و آنها را به طور خودکار حذف کنید. این یک کار یک بار نیست ، بنابراین شما باید دوباره و دوباره این کار را انجام دهید.

برای صرفه جویی در وقت شما ، من یک اقدام عمومی ایجاد کرده ام که در بازار Github موجود است که می توانید برای حذف اقدامات قدیمی استفاده کنید. می توان آن را یافت: در اینجا.

در حال حاضر ، در این نسخه اولیه ، ورودی های زیر را می پذیرد:

  • توکن: نشانه GitHub برای استفاده برای تأیید اعتبار. (لازم)
  • روزهای قبل: تعداد روزهای پیش برای حذف اجراها. (لازم)
  • خشک: در صورت تنظیم صحیح ، این عمل فقط لیست هایی را که حذف می شود بدون حذف آنها در لیست قرار می دهد. (اختیاری ، پیش فرض: نادرست)
  • نگهدارنده ترین: تعداد آخرین اجراها برای نگه داشتن. (اختیاری ، پیش فرض: 0)

برای نشانه ، فقط می توانید از آن استفاده کنید {{ secrets.GITHUB_TOKEN }} که یک راز پیش فرض است که Github برای هر اجرا ارائه می دهد. می توانید اطلاعات بیشتر در مورد آن را در اینجا بخوانید.

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

در اینجا یک گردش کار مثال وجود دارد که از این عمل برای حذف اجراهای قدیمی تر از 30 روز استفاده می کند:

on:
  schedule:
    - cron: '0 0 * * *'  # Specify your own schedule

jobs:
  delete-old-actions:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4 
      - uses: yanovation/delete-old-actions@v1
        with:
          token: ${{ secrets.GITHUB_TOKEN }}
          days-ago: 30
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

و هنگامی که اجرا شد ، لیست اجراهای حذف شده را در گزارش کار مشاهده خواهید کرد: یک مثال اجرا

تنها منفی این رویکرد که من تصور می کنم این است که دقایقی دیگر از محدوده شما مصرف می کند ، اما تقریباً در همه موارد این مسئله بزرگ نیست. برای به حداقل رساندن این امر ، شما حتی می توانید این گردش کار را برای اجرای یک بار در ماه یا بیشتر برنامه ریزی کنید ، اما در نظر داشته باشید که این باعث می شود تاریخ حذف دقیق تر شود.

آیا قبلاً از این عمل استفاده می کنید؟

آیا راه حل دیگری می دانید؟

آیا پیشنهادی دارید؟

به من اطلاع دهید


اگر مقاله را دوست داشتید و می خواهید برای ارائه مطالب بیشتر انگیزه خود را حفظ کنید ، می توانید این مقاله را با دوستان و همکاران خود به اشتراک بگذارید و مرا در Medium یا LinkedIn دنبال کنید.

حق چاپ و سلب مسئولیت

  • کلیه مطالب ارائه شده در این مقاله فقط برای اهداف اطلاعاتی و آموزشی است. نویسنده در مورد صحت یا کامل بودن هرگونه اطلاعات در این سایت یا با دنبال کردن هرگونه پیوندی در این سایت ، هیچ گونه نمایشی ارائه نمی دهد.
  • تمام مطالب دارای حق چاپ است ، به جز دارایی ها و محتوایی که من به کار افراد دیگر ارجاع داده ام و ممکن است در وب سایت های دیگر ، وبلاگ ها یا رسانه های اجتماعی بازتولید نشود. شما مجاز به تولید مثل ، خلاصه برای ایجاد کار مشتق یا استفاده از هر محتوا از این وب سایت تحت نام خود نیستید. این شامل ایجاد یک مقاله یا خلاصه مشابه بر اساس AI/Genai است. برای اهداف آموزشی ، ممکن است به بخش هایی از مطالب مراجعه کنید و فقط به آنها مراجعه کنید ، اما باید پیوندی به مقاله اصلی در این وب سایت ارائه دهید. این تنها در صورتی مجاز است که محتوای شما کمتر از 10 ٪ شبیه به مقاله اصلی باشد.
  • در حالی که هرگونه مراقبت برای اطمینان از صحت محتوای این وب سایت انجام شده است ، من هیچ گونه نمایشی در مورد صحت ، صحت یا تناسب اندام به منظور هرگونه محتوای سایت ارائه نمی دهم ، و من هیچ مسئولیتی را برای ضرر یا خسارت (از جمله ضرر یا خسارت ناشی از آن) نمی پذیرم ، با این حال ، ممکن است توسط هر شخص یا سازمان از اتکا به اعتماد یا استفاده از اطلاعات موجود در این سایت وارد شود.
  • مطالب این مقاله نباید به عنوان مشاوره حقوقی تفسیر شود.
  • نظرات خود من است و نه نظرات کارفرمای من.
  • انگلیسی زبان مادربزرگ من نیست ، بنابراین حتی اگر من تمام تلاش خود را برای بیان صحیح خودم انجام می دهم ، ممکن است احتمال سوءاستفاده وجود داشته باشد.
  • پیوندها یا منابع به وب سایت های دیگر ، از جمله استفاده از اطلاعات از طرفین 3 ، برای مزایای افرادی که از این وب سایت استفاده می کنند ، ارائه شده است. من مسئولیت صحت مطالب در وب سایت هایی را که به آن پیوند داده ام ، مسئولیت ندارم و هیچ یک از آن سازمان ها یا محتوای آنها را تأیید نمی کنم.
  • اگر سؤال دارید یا فکر می کنید که اطلاعاتی در مورد این مقاله نادرست است ، یا فکر می کنید هر یک از دارایی های مورد استفاده در این مقاله با نقض حق چاپ است ، لطفاً با من تماس بگیرید و به من اطلاع دهید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا