Workflow overview
Start with a single job that checks out your repo, sets up Node.js, installs dependencies with caching, runs lint/test commands, and triggers a deploy hook.
একটি জব দিয়ে শুরু করুন যা রেপো চেকআউট করে, নোড সেটআপ করে, ক্যাশ সহ ডিপেন্ডেন্সি ইনস্টল করে, লিন্ট/টেস্ট চালায় এবং ডিপ্লয় হুক ট্রিগার করে।
name: Deploy Next.js
on:
push:
branches: ["main"]
jobs:
build-and-deploy:
runs-on: ubuntu-latest
permissions:
contents: read
deployments: write
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
- run: npm ci
- run: npm run lint
- run: npm run test -- --watch=false
- run: npm run build
- name: Trigger Vercel Deploy Hook
run: curl -X POST "$VERCEL_DEPLOY_HOOK"
- Swap the deploy hook for
actions/upload-pages-artifactanddeploy-pagesto publish to GitHub Pages. - গিটহাব পেজেসে প্রকাশ করতে ডিপ্লয় হুকের বদলে
actions/upload-pages-artifactওdeploy-pagesব্যবহার করুন।
Secrets & security
Store deploy hooks, API keys, and environment URLs as encrypted repository secrets. Require reviewers for production environments and lock workflows to specific branches.
ডিপ্লয় হুক, এপিআই কী ও এনভায়রনমেন্ট ইউআরএল রেপো সিক্রেট হিসেবে এনক্রিপ্ট করে রাখুন। প্রোডাকশন এনভায়রনমেন্টের জন্য রিভিউয়ার আবশ্যক করুন এবং নির্দিষ্ট ব্রাঞ্চে ওয়ার্কফ্লো সীমাবদ্ধ রাখুন।
- Use
actions/cachewith a hash ofpackage-lock.jsonfor faster installs. package-lock.jsonএর হ্যাশ দিয়েactions/cacheব্যবহার করুন যেন ইনস্টল দ্রুত হয়।- Add
concurrencygroups to auto-cancel outdated deploy runs. - পুরনো ডিপ্লয় রান বাতিল করতে
concurrencyগ্রুপ সেট করুন।
Resilience & rollbacks
Wire a workflow_run trigger that listens for failed deploys and reverts to the previous stable build. Send Slack or email
alerts so teams can respond quickly.
ডিপ্লয় ব্যর্থ হলে workflow_run ট্রিগার দিয়ে আগের স্থিতিশীল বিল্ডে রোলব্যাক করুন। স্ল্যাক বা ইমেইল অ্যালার্ট পাঠান যাতে টিম দ্রুত প্রতিক্রিয়া জানাতে পারে।
- Run smoke tests against preview URLs before promoting to production.
- প্রোডাকশনে পাঠানোর আগে প্রিভিউ ইউআরএলে স্মোক টেস্ট চালান।
- Keep an incident playbook describing rollback steps and contact points.
- রোলব্যাক ধাপ ও যোগাযোগ তথ্যসহ একটি ইনসিডেন্ট প্লেবুক রাখুন।