یک اسکریپت Bash بنویسید که برای استقرار خودکار یک برنامه وب ساده کد را از مخزن Git (محلی یا راه دور) pull کند، وابستگیها را نصب کند (مثلاً با npm یا pip)، در صورت نیاز کارهای build یا جمعآوری فایلهای استاتیک را اجرا کند، سرویس مربوطه را با systemctl ریاستارت کند و تمام خروجیها و خطاها را در یک فایل لاگ با زمانسنجی ذخیره کند.
13.0 بازدید آخرین ویرایش در 198 روز قبل ساعت 00:24 0.0
برای حل این مسئله از دستورات پایه Bash مانند git pull، npm install یا pip install، دستورات build (مثلاً npm run build)، و systemctl restart استفاده کنید. بررسی کد بازگشتی هر دستور (با if یا &&) و ثبت زمان و خروجیها در فایل لاگ (با >> و 2>&1) خطاها را قابل ردگیری میکند. توصیه میشود از کلیدهای SSH برای دسترسی بدون رمز به سرور استفاده کنید، اجازه اجرایی به اسکریپت بدهید (chmod +x)، و برای ایمنی ابتدا بکآپ سادهای از فولدر فعلی بگیرید یا از git stash استفاده کنید؛ همچنین میتوانید همین اسکریپت را در یک pipeline CI ساده صدا بزنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای استقرار خودکار، قبل از git pull یک git stash یا بکآپ سریع از دایرکتوری فعلی بگیرید تا در صورت بروز خطا بتوانید بازگردانی کنید. خروجی هر دستور را همراه با timestamp در یک فایل لاگ ضبط کرده و کد بازگشتی را بررسی کنید تا اسکریپت در صورت خطا متوقف شود یا هشدار بدهد. برای کاهش downtime از استراتژیهای atomic deploy (مثل ساخت دایرکتوری جدید و تغییر symlink) استفاده کنید و تنها پس از موفقیت build سرویس systemd را ریاستارت کنید. از کلیدهای SSH برای دسترسی بدون رمز و مجوزهای محدود برای فایلها بهره ببرید و همیشه ابتدا در یک محیط staging تست کنید.
گزارش