
بروزرسانی: 25 خرداد 1404
به طور مداوم سایت وردپرس خود را با GitHub Actions مستقر کنید
استقرار مستمر بخشی ضروری از توسعه وب مدرن است. این به توسعه دهندگان اجازه می دهد تا به طور خودکار تغییرات را از یک سیستم کنترل نسخه به یک محیط زنده اجرا کنند. این رویکرد خطاهای دستی را کاهش می دهد و روند توسعه را سرعت می بخشد و اطمینان حاصل می کند که وب سایت شما همیشه با آخرین تغییرات کد به روز است.
به عنوان یک کاربر Kinsta، می توانید از SSH برای ارسال مستقیم تغییرات به سرور خود استفاده کنید. با GitHub Actions، می توانید کل فرآیند استقرار را خودکار کنید و به روزرسانی ها را به طور یکپارچه در سایت زنده خود اجرا کنید.
این مقاله شما را در راه اندازی استقرار مداوم برای سایت وردپرس خود که در Kinsta میزبانی شده است با استفاده از GitHub Actions راهنمایی می کند. ما همه چیز را از راه اندازی محیط محلی تا اعمال تغییرات در GitHub و استقرار خودکار آنها در سایت زنده شما پوشش می دهیم.
پیش نیازها
قبل از اینکه بتوانید استقرار مداوم سایت وردپرس خود را در Kinsta تنظیم کنید، به چند چیز نیاز دارید:
- سایت وردپرس شما باید قبلاً در Kinsta میزبانی شده باشد.
- شما باید سایت خود را به صورت محلی بکشید. می توانید از DevKinsta استفاده کنید یا یک نسخه پشتیبان دانلود کنید.
- یک مخزن GitHub برای ذخیره و ارسال کدهای سایت شما.
- دانش اولیه Git، مانند فشار دادن کد و استفاده از a
.gitignore
فایل
کشیدن سایت به صورت محلی و راه اندازی GitHub
به عنوان یک کاربر Kinsta، ساده ترین راه برای دسترسی به فایل های محلی سایت وردپرس خود استفاده از DevKinsta است. تنها با چند کلیک، می توانید سایت خود را از سرور Kinsta به DevKinsta بکشید و به شما امکان می دهد به صورت محلی روی سایت خود کار کنید.
برای انجام این کار:
- DevKinsta را باز کرده و کلیک کنید اضافه کردن سایت.
- را انتخاب کنید واردات از Kinsta گزینه با این کار همه چیز در مورد سایت شما دانلود می شود تا بتوانید به صورت محلی برای توسعه به آن دسترسی داشته باشید.
هنگامی که سایت شما به صورت محلی در دسترس است، پوشه سایت را در ویرایشگر کد دلخواه خود باز کنید. قبل از فشار دادن فایل ها به GitHub، یک را اضافه کنید .gitignore
برای جلوگیری از آپلود فایل های اصلی وردپرس، آپلودها یا اطلاعات حساس غیرضروری، را در دایرکتوری ریشه پروژه خود قرار دهید. می توانید از یک استاندارد استفاده کنید .gitignore
قالب برای وردپرس محتویات قالب را کپی کرده و ذخیره کنید.
در مرحله بعد، یک مخزن GitHub ایجاد کنید و فایل های سایت خود را به GitHub فشار دهید.
راه اندازی اسرار GitHub برای Kinsta
برای استقرار خودکار از GitHub به Kinsta، به برخی جزئیات مهم SSH از جمله نام کاربری، رمز عبور، پورت و آدرس IP خود نیاز دارید. از آنجایی که اینها حساس هستند، آنها را به عنوان اسرار GitHub ذخیره کنید.
برای افزودن اسرار در GitHub:
- به مخزن خود در GitHub بروید.
- را کلیک کنید تنظیمات > اسرار و متغیرها > اقدامات > راز مخزن جدید.
- اسرار زیر را اضافه کنید:
KINSTA_SERVER_IP
KINSTA_USERNAME
PASSWORD
PORT
شما می توانید این جزئیات را در سایت خود پیدا کنید اطلاعات صفحه در داشبورد MyKinsta شما.

با تکمیل این تنظیمات، اکنون می توانید استقرار خودکار را برای سایت وردپرس خود پیکربندی کنید.
در حال پیکربندی سرور Kinsta خود
قبل از خودکارسازی فرآیند استقرار با GitHub Actions، باید سرور Kinsta خود را برای دریافت و استقرار کد از مخزن GitHub خود پیکربندی کنید.
این شامل دو مرحله است: ایجاد یک مخزن Git بر روی سرور Kinsta و راه اندازی a post-receive
قلاب کنید تا آخرین تغییرات به صورت خودکار در سایت زنده شما اعمال شود.
1. یک مخزن Git خالی در Kinsta ایجاد کنید
یک مخزن گیت خالی یک مقصد راه دور است که در آن GitHub کد شما را فشار می دهد. این مخزن یک دایرکتوری فعال ندارد - یک مخزن مرکزی است که برای دریافت و ذخیره کد شما طراحی شده است.
برای انجام این کار، ابتدا با استفاده از SSH وارد سرور Kinsta خود شوید دستور ترمینال SSH موجود در داشبورد MyKinsta شما:

سپس، به پوشه خصوصی روی سرور خود بروید (یا اگر قبلاً وجود ندارد، آن را ایجاد کنید):
mkdir -p /www/your-site/private
cd /www/your-site/private
در اینجا، جایگزین کنید your-site
با نام پوشه واقعی برای سایت خود، که می توانید آن را در مسیر داشبورد خود پیدا کنید.

در نهایت، مخزن Git خالی را ایجاد کنید:
git init --bare your-repo.git
برای your-repo
، می توانید از نام مخزن GitHub خود برای سازگاری استفاده کنید، اما می توانید آن را هر چیزی که دوست دارید نام گذاری کنید.
این مخزن خالی کدی را که از GitHub ارسال شده دریافت می کند.
2. قلاب پس از دریافت را راه اندازی کنید
هنگامی که مخزن Git برهنه شما آماده شد، a را راه اندازی کنید post-receive
قلاب بعدی است این اسکریپت به طور خودکار کد را در سایت زنده شما مستقر می کند هر زمان که تغییرات جدیدی در آن اعمال شود main
شعبه در GitHub
برای انجام این کار، به دایرکتوری hooks در مخزن Git برهنه خود بروید:
cd /www/your-site/private/your-repo.git/hooks
را ایجاد و ویرایش کنید post-receive
قلاب:
nano post-receive
سپس اسکریپت زیر را به آن اضافه کنید post-receive
فایل این اسکریپت آخرین کد را بررسی می کند public
دایرکتوری سایت زنده شما:
#!/bin/bash
TARGET="/www/your-site/public"
GIT_DIR="/www/your-site/private/your-repo.git"
while read oldrev newrev ref
do
BRANCH=$(git rev-parse --symbolic --abbrev-ref $ref)
if (( $BRANCH == "main" ));
then
echo "Ref $ref received. Deploying ${BRANCH} branch to production..."
git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f
else
echo "Ref $ref received. Doing nothing: only the main branch may be deployed on this server."
fi
done
اسکریپت بالا کد را فقط از main
شاخه را TARGET
متغیر به دایرکتوری که فایل های سایت زنده شما در آن قرار دارد اشاره می کند (/www/your-site/public
). را GIT_DIR
متغیر به مخزن Git خالی اشاره می کند.
با فشار دادن فایل را ذخیره کرده و از آن خارج شوید Ctrl + X، سپس Y، و وارد کنید.
در نهایت، اسکریپت را قابل اجرا کنید تا بتواند پس از هر فشار به طور خودکار اجرا شود:
chmod +x post-receive
در این مرحله، post-receive
قلاب آماده است تا هر زمان که تغییرات در آن اعمال شود، کد را به طور خودکار اجرا کند main
در مخزن GitHub خود شعبه کنید.
3. یک نشانه دسترسی شخصی GitHub (PAT) ایجاد و اضافه کنید
از آنجایی که GitHub دیگر از احراز هویت مبتنی بر رمز عبور پشتیبانی نمی کند، هنگام ارسال کد به GitHub از طریق SSH باید از PAT برای احراز هویت استفاده کنید. این توکن به GitHub اجازه می دهد تا فشارهای شما را به طور ایمن بپذیرد.
برای تولید توکن:
- به حساب GitHub خود بروید و روی عکس نمایه خود کلیک کنید، سپس انتخاب کنید تنظیمات.
- در نوار کناری سمت چپ، کلیک کنید تنظیمات برنامه نویس.
- کلیک کنید نشانه های دسترسی شخصی > توکن ها (کلاسیک).
- کلیک کنید توکن جدید تولید کنید، و نامی برای آن بگذارید (به عنوان مثال، "Kinsta Deployment Token").
- زیر محدوده ها را انتخاب کنید، بررسی کنید
repo
(برای کنترل کامل مخازن خصوصی). - کلیک کنید توکن تولید کنیدو توکن را کپی کنید. (شما دیگر نمی توانید آن را ببینید.)
در مرحله بعد، دستور زیر را اجرا کنید تا مخزن GitHub خود را به عنوان یک کنترل از راه دور اضافه کنید و مکان ها را با جزئیات واقعی خود جایگزین کنید:
git remote add origin https://your-username:(email\xa0protected)/your-username/your-repo.git
جایگزین کنید:
your-username
با نام کاربری GitHub شما.YOUR_PERSONAL_ACCESS_TOKEN
با توکنی که به تازگی ایجاد کرده اید.your-repo
با نام مخزن GitHub شما.
ایجاد گردش کار GitHub Actions برای استقرار خودکار
اکنون که سایت وردپرس شما بر روی دستگاه محلی شما قرار دارد، به GitHub فشار داده شده است، و شما اسرار GitHub لازم را تنظیم کرده اید، زمان ایجاد یک گردش کاری GitHub Actions فرا رسیده است. این گردش کار هر زمان که به Kinsta فشار می آورید، تغییرات را به طور خودکار در Kinsta پیاده می کند main
شاخه
برای خودکار کردن استقرار، یک فایل YAML ایجاد خواهید کرد که نحوه استقرار را تعریف می کند. در اینجا نحوه تنظیم آن آمده است:
- یک دایرکتوری جدید به نام ایجاد کنید
.github/workflows
در مخزن GitHub شما. - در داخل این دایرکتوری یک فایل جدید به نام ایجاد کنید
deploy.yml
. - مطالب زیر را به
deploy.yml
فایل:
name: Deploy to Kinsta
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Deploy to Kinsta via SSH
uses: appleboy/(email\xa0protected)
with:
host: ${{ secrets.KINSTA_SERVER_IP }}
username: ${{ secrets.KINSTA_USERNAME }}
password: ${{ secrets.PASSWORD }}
port: ${{ secrets.PORT }}
script: |
cd /www/your-site/private/your-repo.git # Navigate to the bare Git repository on Kinsta
git --work-tree=/www/your-site/public --git-dir=/www/your-site/private/your-repo.git fetch origin main # Fetch the latest changes from GitHub
git --work-tree=/www/your-site/public --git-dir=/www/your-site/private/your-repo.git reset --hard origin/main # Deploy changes to the live site
نگاهی دقیق تر به این گردش کار
در اینجا خلاصه ای از گردش کار آمده است:
- ماشه: هر بار که کد به سمت فشار داده می شود، گردش کار فعال می شود
main
شاخه ای از مخزن GitHub شما. - مشاغل: گردش کار شامل یک است
job
تماس گرفتdeploy
، که روی یک ماشین مجازی اوبونتو اجرا می شود (ubuntu-latest
). - کد پرداخت: در این مرحله از
actions/checkout@v2
اقدامی برای کشیدن آخرین کد از مخزن GitHub شما. - استقرار از طریق SSH:
appleboy/ssh-action
برای اتصال ایمن به سرور Kinsta خود از طریق SSH با استفاده از اسرار پیکربندی شده (IP سرور، نام کاربری، رمز عبور و پورت) استفاده می شود. اسکریپت در این مرحله دستورات زیر را اجرا می کند:cd /www/your-site/private/your-repo.git
: به مخزن Git خالی در سرور Kinsta شما هدایت می شود.git fetch origin main
: آخرین تغییرات را ازmain
در مخزن GitHub خود شعبه کنید.git reset --hard origin/main
: این تغییرات را با به روز رسانی سایت زنده در قسمت اعمال می کندpublic
دایرکتوری که وردپرس در آن میزبانی می شود.
تست گردش کار
هنگامی که گردش کار را تنظیم کردید، می توانید آن را با فشار دادن یک تغییر کوچک در مخزن GitHub خود آزمایش کنید. main
شاخه هر بار که تغییری را اعمال می کنید، GitHub Actions به طور خودکار استقرار را آغاز می کند، آخرین نسخه کد شما را می کشد و آن را در سایت زنده شما در Kinsta مستقر می کند.
شما می توانید وضعیت استقرار خود را با رفتن به زیر نظارت کنید اقدامات برگه در مخزن GitHub شما. اگر گردش کار با خطا مواجه شد، گزارش های دقیقی را مشاهده خواهید کرد تا به شما در عیب یابی و رفع مشکلات کمک کند.
خلاصه
با راه اندازی استقرار مداوم برای سایت وردپرس خود با استفاده از GitHub Actions، گردش کار توسعه خود را خودکار می کنید و اطمینان حاصل می کنید که هر تغییری که در GitHub اعمال می شود به طور خودکار در سایت زنده شما در Kinsta مستقر می شود.
همچنین به شما امکان می دهد گردش های کاری اضافی را در خط لوله ادغام کنید، مانند آزمایش و قالب بندی با استفاده از بسته @wordpress/scripts.
نظر شما در مورد این فرآیند چیست؟ آیا چیز دیگری وجود دارد که بخواهید توضیح دهیم، یا آیا هنگام دنبال کردن این راهنما با خطا مواجه شده اید؟ لطفا سوالات یا نظرات خود را در بخش نظرات زیر به اشتراک بگذارید!