خودکارسازی استقرار Netlify هر 24 ساعت با GitHub Actions

در محیط توسعه سریع امروزی، اتوماسیون کلیدی برای بهبود کارایی و قابلیت اطمینان است. اگر از Netlify برای میزبانی سایتهای استاتیک خود استفاده میکنید، ممکن است بخواهید بهطور دورهای یا بر حسب تقاضا، استقرار را فعال کنید تا اطمینان حاصل کنید که سایت شما بهروز میماند. در این پست وبلاگ، من به شما نشان خواهم داد که چگونه استقرارهای Netlify را با استفاده از GitHub Actions خودکار کنید، آنها را هر 24 ساعت فعال کنید و قبل از هر ساخت، حافظه پنهان را پاک کنید.
آنچه شما نیاز دارید
قبل از شروع، مطمئن شوید که موارد زیر را دارید:
- شناسه سایت Netlify – می توانید این را در داشبورد Netlify خود در زیر پیدا کنید تنظیمات سایت > عمومی > اطلاعات سایت > شناسه API.
- توکن دسترسی شخصی Netlify – این توکن به GitHub Actions اجازه می دهد تا یک استقرار را از طریق Netlify API راه اندازی کند. شما می توانید یکی از زیر تولید کنید تنظیمات کاربر > برنامه ها > نشانه های دسترسی شخصی در نتلیفای
- یک مخزن GitHub متصل به سایت Netlify شما.
چرا استقرارهای Netlify را خودکار کنید؟
استقرار خودکار چندین مزیت به همراه دارد:
- به روز رسانی های منظم: اگر سایت شما محتوای خارجی واکشی می کند یا به داده های API وابسته است، استقرار خودکار تضمین می کند که آخرین محتوا همیشه منعکس شود.
- پاک کردن کش: Netlify کش ها را به طور پیش فرض می سازد. پاک کردن منظم کش می تواند به جلوگیری از محتوای قدیمی یا اشکالات ناشی از ساخت های قدیمی کمک کند.
- صرفه جویی در زمان: با GitHub Actions، می توانید به راحتی کارهای خسته کننده را خودکار کنید و روی جنبه های مهم تر توسعه خود تمرکز کنید.
راه اندازی GitHub Actions برای استقرار Netlify
در اینجا نحوه راهاندازی یک گردش کاری GitHub Actions که هر 24 ساعت یک بار در Netlify راهاندازی میشود و در حین پاک کردن حافظه نهان پنهان میشود، آمده است.
مرحله 1: Secrets را به GitHub اضافه کنید
در مخزن GitHub خود، باید اعتبار Netlify خود را به عنوان راز ذخیره کنید:
- به مخزن خود در GitHub بروید.
- حرکت به تنظیمات > اسرار و متغیرها > اقدامات.
- دو راز جدید اضافه کنید:
-
NETLIFY_SITE_ID
: شناسه API برای سایت Netlify شما. -
NETLIFY_ACCESS_TOKEN
: رمز دسترسی شخصی Netlify شما.
-
مرحله 2: گردش کار GitHub Actions را ایجاد کنید
در مرحله بعد، یک گردش کار جدید GitHub Actions در مخزن خود ایجاد کنید. می توانید این کار را با افزودن یک فایل به آن انجام دهید .github/workflows/netlify-deploy.yml
:
name: Netlify Scheduled Deployment
on:
schedule:
- cron: '0 0 * * *' # This runs every 24 hours at midnight UTC
workflow_dispatch: # Allows manual triggering of the action from GitHub Actions
jobs:
deploy:
if: github.ref == 'refs/heads/main' # Specify the branch 'main' to trigger on
runs-on: ubuntu-latest
steps:
- name: Trigger Netlify Build with Cache Clearing
run: |
# Call the Netlify API to trigger a new build and clear the cache
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ${{ secrets.NETLIFY_ACCESS_TOKEN }}" \
-d '{"clear_cache": true}' \
https://api.netlify.com/api/v1/sites/${{ secrets.NETLIFY_SITE_ID }}/builds
مرحله 3: چگونه کار می کند
-
ماشه برنامه ریزی شده: گردش کار به صورت خودکار هر 24 ساعت با استفاده از دستور cron فعال می شود
'0 0 * * *'
. این برنامه هر روز با UTC نیمه شب مطابقت دارد، اما می توانید آن را بر اساس نیاز خود تنظیم کنید. -
ماشه دستی:
workflow_dispatch
رویداد به شما این امکان را می دهد که هر زمان که نیاز به استقرار فوری دارید، به صورت دستی استقرار را از زبانه GitHub Actions فعال کنید. -
پاک کردن کش:
clear_cache: true
flag تضمین میکند که کش ساخت قبل از هر استقرار پاک میشود و از مشکلات احتمالی ناشی از فایلهای کش قدیمی جلوگیری میکند.
مرحله 4: استقرار خود را آزمایش و نظارت کنید
پس از تنظیم گردش کار، به بخش مراجعه کنید اقدامات در مخزن GitHub خود را برگه کنید تا تأیید کنید که استقرار کار می کند. می توانید با کلیک بر روی آن، گردش کار را به صورت دستی اجرا کنید گردش کار را اجرا کنید اگر می خواهید فورا آن را تست کنید، دکمه را فشار دهید.
نتیجه گیری
با این اتوماسیون ساده، اکنون می توانید مطمئن باشید که سایت Netlify شما هر 24 ساعت یکبار به طور خودکار مستقر می شود، همراه با پاکسازی حافظه پنهان برای جلوگیری از ساخت های قدیمی. GitHub Actions ابزارهای اتوماسیون قدرتمندی را ارائه می دهد و با این راه اندازی، می توانید از مزایای آن برای ساده سازی فرآیند استقرار خود استفاده کنید.
با خیال راحت این گردش کار را مطابق با نیازهای پروژه خود سفارشی کنید و سردردهای استقرار را به گذشته تبدیل کنید!