سلام وقت همگی بخیر باشه
من یه فکری تو سرم دارم و میخوام به حالتی باشه که وقتی با IDE ام کد مینویسم هم تو PC سیو شه و هم تو سرور
یعنی به صورت خودکار با سرور sync بشه که نیاز نباشه دوباره سورس کد رو اپلود کنم
حالا راه های دیگه ام هست مثل FTP و ... ولی اینارو نمیخوام .
علاوه بر روشهای فوق، یک روش دیگه هم ارزش امتحان کردن داره و من خودم خیلی باهاش حال میکنم:
اگر از PHPStorm استفاده کنید، میتونید از داخل خود محیطش و با استفاه از امکان browse remote host به هاست یا سرورتون با استفاده از پروتوکلهای FTP یا SFTP یا FTPS متصل بشید.
در مرحله بعد با تعریف کردن mapping بهش میفهمونید که کدام پوشه نسخه لوکال نظیر کدام پوشه در هاستتون هست.
وقتی این مراحل رو یکبار انجام دادید، از این به بعد، فرض کنید تنها یک فایلتون (مثلا UserController) رو آپدیت کردید. کافیه در حالی که این فایلتون باز هست روی گزینه آپلود کلیک کنید یا کلیدهای میانبر Ctrl + Alt + Shift + X رو بزنید. خودش اتومات فایل رو روی فایل موردنظر در سرور overwrite میکنه.
یعنی بعد از هر تغییری تنها با یک کلیک یا دو کلیک تغییراتتون روی نسخه هاست deploy خواهند شد و کلش کمتر از یک ثانیه زمان میبره. نیاز به باز کردن نرم افزار جداگانه ای هم نیست.
برای اعمال تغییرات گروهی و بیش از یک فایل هم کافیه از قابلیت Synch همون PHPStorm استفاده کنید.
سلام دوست عزیز @parsaparasteh
روش توسعه کد git version کنترلر است. در این روش شما روی local ابتدا از روی سرورتون clone می کنید و شروع به اصلاح کردن کد می کنید و سپس این مقادیر را بر روی سرور push می کنید. حالا شما می خواهید به صورت مستقیم در هر تغییر به صورت اتوماتیک بر روی سرور آپلود شود. ولی مشکلی که اینجا وجود دارد این است که این تغییرات ممکن است سرور شما را به طور کل down کند. در این شرایط چه کاری می خواهید انجام دهید ؟ مثلا برای وب سایت مثال می زنم. خیلی مواقع اون چیزی که روی لوکال دارید روی هاست جواب نمی دهد. به خاطر این موارد نمی توان هیچگاه مستقیم روی هاست آپلود انجام داد.
@mohaligateway سلام ممنون از توضیحات خوبی که دادید
کاری که بنده باید انجام بدم اینه که پروژه آنلاین باشه هر موقع و هر زمان و کارفرما بتونه به راحتی دسترسی داشته باشه. مشکلاتی که واسه من پیش میاد اینه که واسه هر یک ادیت جزئی مجبور میشم دوباره فایل ها را آپلود کنم تک به تک که این زمان بر میشه.
@mohaligateway من قبل از این کار از اف تی پی استفاده می کردم ولی خب مشکلاتی که داشت این بود که نمی شد به راحتی با کنترل و کلیک کردن رو اسم فانکشن به فایل مد نظر انتقال پیدا کنه. و کلا رفرنس هایی که داره رو به خوبی نمیاره وقتی با FTP وصل میشم
یک قابلیت جدید داخل لاراول 8 قرار داده شده که با down کردن وب سایت می تونید یک کلید تعیین کنید که تنها خودتون دسترسی داشته باشید. من خودم با استفاده از یک branch مثلا developer روی هاست دارم و با استفاده از لوکال کار ها رو پیش می برم وقتی تمام شد آن را بر روی هاست push می کنم و هاست رو down می کنم و سپس بعد از تست کردم دوباره هاست را up می کنم.
php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"
من قبل از این کار از اف تی پی استفاده می کردم ولی خب مشکلاتی که داشت این بود که نمی شد به راحتی با کنترل و کلیک کردن رو اسم فانکشن به فایل مد نظر انتقال پیدا کنه. و کلا رفرنس هایی که داره رو به خوبی نمیاره وقتی با FTP وصل میشم
بله با اف تی پی نمیشه این کارها را انجام داد. بهترین روش همین استفاده از گیت هست که مزایای خیلی زیادی داره
@parsaparasteh
@mohaligateway بسیار ممنونم
موضوعی که هست اینه که برای هر تغییری که من میدم باید کد های زیر رو بزنم
Git add *
git commit -m="some text"
git push
و سمت سرور هم دوباره pull کنم ...
زمان بره ...
الزاما برای هر تغییر نیازی نیست که شما commit کنید. در برخی موارد ممکنه تا چند روز اصلا commit بر روی پروژه انجام نشه. وقتی روی سرور push می کنید دیگه نیازی نیست آن را دوباره pull کنید!
@parsaparasteh
میتونی برای میزبانی سایتت از لیارا استفاده کنی دقیقا همونیه که تو ذهنته با یک کامند پروژه رو مثه گیت اپلود میکنی رو سرور و تمام تغییرات بدون وقفه روی سایتت اعمال میشن.
هیچ وقت به صورت مستقیم تغییرات روی سرور هایی که زیر بار هستند آپلود نکنید. مخصوصا سایت هایی که بازدید کننده های بالایی دارند. من خودم به شخصه یک بار چوب همچین کاری رو خوردم تا بیایم بکاپ رو بر گردونیم ...... 😀.
مهندس @juza66 سیستم لیارا این قابلیت رو به چه صورتی داره. با ssh هستش ؟
@parsaparasteh
علاوه بر روشهای فوق، یک روش دیگه هم ارزش امتحان کردن داره و من خودم خیلی باهاش حال میکنم:
اگر از PHPStorm استفاده کنید، میتونید از داخل خود محیطش و با استفاه از امکان browse remote host به هاست یا سرورتون با استفاده از پروتوکلهای FTP یا SFTP یا FTPS متصل بشید.
در مرحله بعد با تعریف کردن mapping بهش میفهمونید که کدام پوشه نسخه لوکال نظیر کدام پوشه در هاستتون هست.
وقتی این مراحل رو یکبار انجام دادید، از این به بعد، فرض کنید تنها یک فایلتون (مثلا UserController) رو آپدیت کردید. کافیه در حالی که این فایلتون باز هست روی گزینه آپلود کلیک کنید یا کلیدهای میانبر Ctrl + Alt + Shift + X رو بزنید. خودش اتومات فایل رو روی فایل موردنظر در سرور overwrite میکنه.
یعنی بعد از هر تغییری تنها با یک کلیک یا دو کلیک تغییراتتون روی نسخه هاست deploy خواهند شد و کلش کمتر از یک ثانیه زمان میبره. نیاز به باز کردن نرم افزار جداگانه ای هم نیست.
برای اعمال تغییرات گروهی و بیش از یک فایل هم کافیه از قابلیت Synch همون PHPStorm استفاده کنید.
@mohaligateway
مخلصیم مهندس
لیارا یک cli داره که با لاگین شدن اطلاعات پروژه شما رو میفرسته سمت سرور و سمت بک اند خودشون پکیج ها و لاراول رو براتون اینستال میکنه و خیلی سریع بدون اینکه وقفه ی توی سایت ایجاد بشه پروژه رو براتون ران میکنه.
ممنون از توضیح خوبتون @mhyeganeh
میشه به صورت ویدیوی این رو توضیح بدین ؟ من دکمه آپلود یا دانلودی نمیبنیم.
بهترین روش استفاده از CI/CD و گیت برای ورژن کنترل هست
در کنارش میتونی از فرایند auto build در Jenkins استفاده کنی
بدین ترتیب پول شدن روی سرور خودش انجام میشه و تغییرات بیلد میشه
تنها کاری که باید بکنی اینه که کامیت و پوش کنی، که اون هم میتونه حتما با cmd نباشه
الان تمام ادیتور ها ابزار ویژوال برای گیت دارند
@parsaparasteh
سلام وقتتون بخیر من کار با گیت رو بلد نیستم متاسفانه ولی با فایلزیلا راحت کار می کنم تنها مشکلم اینه که الان یه پروژه node دارم بعد از ادیت فایل هایی که مربوط به بک اند میشه یعنی کنترلرها یا مدل ها یا روترها به روز رسانی روی سایت انجام نمیشه و حتما باید از طریق ssh وارد بشم و pm2 رو ریستارت کنم این ریستارت مداوم سایت رو دچار مشکل کرده بود
ولی اگر برای فرانت اند که فایل های ejs هستن ادیت انجام بدم بعد اپلود مستقیما اجرا میشه
حتی خواستم پروژه رو روی لوکال ادیت کنم بعد اپلود کنم اما دیتابیسم رو نمی خونه و سایت روی لوکال بالا نمیاد
یه راه حل دارید بهم بدید🙏🙏🙏
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟