parsa parasteh
4 سال پیش توسط parsa parasteh مطرح شد
19 پاسخ

آپلود خودکار سورس

سلام وقت همگی بخیر باشه
من یه فکری تو سرم دارم و میخوام به حالتی باشه که وقتی با IDE ام کد مینویسم هم تو PC سیو شه و هم تو سرور

یعنی به صورت خودکار با سرور sync بشه که نیاز نباشه دوباره سورس کد رو اپلود کنم

حالا راه های دیگه ام هست مثل FTP و ... ولی اینارو نمیخوام .


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
2

علاوه بر روش‌های فوق، یک روش دیگه هم ارزش امتحان کردن داره و من خودم خیلی باهاش حال می‌کنم:

اگر از PHPStorm استفاده کنید، می‌تونید از داخل خود محیطش و با استفاه از امکان browse remote host به هاست یا سرورتون با استفاده از پروتوکل‌های FTP یا SFTP یا FTPS متصل بشید.

در مرحله بعد با تعریف کردن mapping بهش می‌فهمونید که کدام پوشه نسخه لوکال نظیر کدام پوشه در هاستتون هست.

وقتی این مراحل رو یکبار انجام دادید، از این به بعد، فرض کنید تنها یک فایلتون (مثلا UserController) رو آپدیت کردید. کافیه در حالی که این فایلتون باز هست روی گزینه آپلود کلیک کنید یا کلیدهای میانبر Ctrl + Alt + Shift + X رو بزنید. خودش اتومات فایل رو روی فایل موردنظر در سرور overwrite میکنه.

یعنی بعد از هر تغییری تنها با یک کلیک یا دو کلیک تغییراتتون روی نسخه هاست deploy خواهند شد و کلش کمتر از یک ثانیه زمان می‌بره. نیاز به باز کردن نرم افزار جداگانه ای هم نیست.

برای اعمال تغییرات گروهی و بیش از یک فایل هم کافیه از قابلیت Synch همون PHPStorm استفاده کنید.


Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

سلام. درباره‌ی گیت و CI/CD تحقیق کنید.


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
1

سلام دوست عزیز @parsaparasteh
روش توسعه کد git version کنترلر است. در این روش شما روی local ابتدا از روی سرورتون clone می کنید و شروع به اصلاح کردن کد می کنید و سپس این مقادیر را بر روی سرور push می کنید. حالا شما می خواهید به صورت مستقیم در هر تغییر به صورت اتوماتیک بر روی سرور آپلود شود. ولی مشکلی که اینجا وجود دارد این است که این تغییرات ممکن است سرور شما را به طور کل down کند. در این شرایط چه کاری می خواهید انجام دهید ؟ مثلا برای وب سایت مثال می زنم. خیلی مواقع اون چیزی که روی لوکال دارید روی هاست جواب نمی دهد. به خاطر این موارد نمی توان هیچگاه مستقیم روی هاست آپلود انجام داد.


parsa parasteh
تخصص : Fullstack Developer
@parsaparasteh 4 سال پیش مطرح شد
0

@mohaligateway سلام ممنون از توضیحات خوبی که دادید
کاری که بنده باید انجام بدم اینه که پروژه آنلاین باشه هر موقع و هر زمان و کارفرما بتونه به راحتی دسترسی داشته باشه. مشکلاتی که واسه من پیش میاد اینه که واسه هر یک ادیت جزئی مجبور میشم دوباره فایل ها را آپلود کنم تک به تک که این زمان بر میشه.


parsa parasteh
تخصص : Fullstack Developer
@parsaparasteh 4 سال پیش مطرح شد
0

@mohaligateway من قبل از این کار از اف تی پی استفاده می کردم ولی خب مشکلاتی که داشت این بود که نمی شد به راحتی با کنترل و کلیک کردن رو اسم فانکشن به فایل مد نظر انتقال پیدا کنه. و کلا رفرنس هایی که داره رو به خوبی نمیاره وقتی با FTP وصل میشم


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش آپدیت شد
1

یک قابلیت جدید داخل لاراول 8 قرار داده شده که با down کردن وب سایت می تونید یک کلید تعیین کنید که تنها خودتون دسترسی داشته باشید. من خودم با استفاده از یک branch مثلا developer روی هاست دارم و با استفاده از لوکال کار ها رو پیش می برم وقتی تمام شد آن را بر روی هاست push می کنم و هاست رو down می کنم و سپس بعد از تست کردم دوباره هاست را up می کنم.

php artisan down --secret="1630542a-246b-4b66-afa1-dd72a4c43515"

@parsaparasteh


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
1

من قبل از این کار از اف تی پی استفاده می کردم ولی خب مشکلاتی که داشت این بود که نمی شد به راحتی با کنترل و کلیک کردن رو اسم فانکشن به فایل مد نظر انتقال پیدا کنه. و کلا رفرنس هایی که داره رو به خوبی نمیاره وقتی با FTP وصل میشم

بله با اف تی پی نمیشه این کارها را انجام داد. بهترین روش همین استفاده از گیت هست که مزایای خیلی زیادی داره
@parsaparasteh


parsa parasteh
تخصص : Fullstack Developer
@parsaparasteh 4 سال پیش مطرح شد
0

@mohaligateway بسیار ممنونم
موضوعی که هست اینه که برای هر تغییری که من میدم باید کد های زیر رو بزنم

Git add *
git commit -m="some text"
git push

و سمت سرور هم دوباره pull کنم ...

زمان بره ...


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
1

الزاما برای هر تغییر نیازی نیست که شما commit کنید. در برخی موارد ممکنه تا چند روز اصلا commit بر روی پروژه انجام نشه. وقتی روی سرور push می کنید دیگه نیازی نیست آن را دوباره pull کنید!
@parsaparasteh


parsa parasteh
تخصص : Fullstack Developer
@parsaparasteh 4 سال پیش مطرح شد
0

@mohaligateway منظورتون از خود سرور را متوجه نشدم اگر میشه بیشتر توضیح بدید خیلی ممنونم


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش مطرح شد
1

میتونی برای میزبانی سایتت از لیارا استفاده کنی دقیقا همونیه که تو ذهنته با یک کامند پروژه رو مثه گیت اپلود میکنی رو سرور و تمام تغییرات بدون وقفه روی سایتت اعمال میشن.


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
1

هیچ وقت به صورت مستقیم تغییرات روی سرور هایی که زیر بار هستند آپلود نکنید. مخصوصا سایت هایی که بازدید کننده های بالایی دارند. من خودم به شخصه یک بار چوب همچین کاری رو خوردم تا بیایم بکاپ رو بر گردونیم ...... 😀.
مهندس @juza66 سیستم لیارا این قابلیت رو به چه صورتی داره. با ssh هستش ؟
@parsaparasteh


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
2

علاوه بر روش‌های فوق، یک روش دیگه هم ارزش امتحان کردن داره و من خودم خیلی باهاش حال می‌کنم:

اگر از PHPStorm استفاده کنید، می‌تونید از داخل خود محیطش و با استفاه از امکان browse remote host به هاست یا سرورتون با استفاده از پروتوکل‌های FTP یا SFTP یا FTPS متصل بشید.

در مرحله بعد با تعریف کردن mapping بهش می‌فهمونید که کدام پوشه نسخه لوکال نظیر کدام پوشه در هاستتون هست.

وقتی این مراحل رو یکبار انجام دادید، از این به بعد، فرض کنید تنها یک فایلتون (مثلا UserController) رو آپدیت کردید. کافیه در حالی که این فایلتون باز هست روی گزینه آپلود کلیک کنید یا کلیدهای میانبر Ctrl + Alt + Shift + X رو بزنید. خودش اتومات فایل رو روی فایل موردنظر در سرور overwrite میکنه.

یعنی بعد از هر تغییری تنها با یک کلیک یا دو کلیک تغییراتتون روی نسخه هاست deploy خواهند شد و کلش کمتر از یک ثانیه زمان می‌بره. نیاز به باز کردن نرم افزار جداگانه ای هم نیست.

برای اعمال تغییرات گروهی و بیش از یک فایل هم کافیه از قابلیت Synch همون PHPStorm استفاده کنید.


سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش مطرح شد
2

@mohaligateway
مخلصیم مهندس
لیارا یک cli داره که با لاگین شدن اطلاعات پروژه شما رو میفرسته سمت سرور و سمت بک اند خودشون پکیج ها و لاراول رو براتون اینستال میکنه و خیلی سریع بدون اینکه وقفه ی توی سایت ایجاد بشه پروژه رو براتون ران میکنه.

توضیح تصویر رو وارد کنید


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
2

دست درد نکنه مخلصتونیم😓 @juza66
چه پلتفرم جالبی تا حالا نشنیده بودم. تشکر


parsa parasteh
تخصص : Fullstack Developer
@parsaparasteh 4 سال پیش مطرح شد
0

ممنون از توضیح خوبتون @mhyeganeh

میشه به صورت ویدیوی این رو توضیح بدین ؟ من دکمه آپلود یا دانلودی نمیبنیم.


parsa parasteh
تخصص : Fullstack Developer
@parsaparasteh 4 سال پیش مطرح شد
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش مطرح شد
2

بهترین روش استفاده از CI/CD و گیت برای ورژن کنترل هست
در کنارش میتونی از فرایند auto build در Jenkins استفاده کنی
بدین ترتیب پول شدن روی سرور خودش انجام میشه و تغییرات بیلد میشه

تنها کاری که باید بکنی اینه که کامیت و پوش کنی، که اون هم میتونه حتما با cmd نباشه
الان تمام ادیتور ها ابزار ویژوال برای گیت دارند


parsa parasteh
تخصص : Fullstack Developer
@parsaparasteh 4 سال پیش مطرح شد
0

@ali.bayat
بررسی کردم خیلی عالی بود ، باید یاد بگیرم اینم


zahra ghasemi
@zghasemi891 4 سال پیش مطرح شد
0

@parsaparasteh
سلام وقتتون بخیر من کار با گیت رو بلد نیستم متاسفانه ولی با فایلزیلا راحت کار می کنم تنها مشکلم اینه که الان یه پروژه node دارم بعد از ادیت فایل هایی که مربوط به بک اند میشه یعنی کنترلرها یا مدل ها یا روترها به روز رسانی روی سایت انجام نمیشه و حتما باید از طریق ssh وارد بشم و pm2 رو ریستارت کنم این ریستارت مداوم سایت رو دچار مشکل کرده بود
ولی اگر برای فرانت اند که فایل های ejs هستن ادیت انجام بدم بعد اپلود مستقیما اجرا میشه
حتی خواستم پروژه رو روی لوکال ادیت کنم بعد اپلود کنم اما دیتابیسم رو نمی خونه و سایت روی لوکال بالا نمیاد
یه راه حل دارید بهم بدید🙏🙏🙏


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام