برنامه نویسی

“از EC2 به GitHub: چگونه من گردش کار خط لوله DevOps خود را در یک اسکریپت ساده خودکار کردم”

مقدمه:

سلام dev.to جامعه! 👋

آیا شما خسته شده اید ویرایش پرونده ها روی سرور خود ، سپس فراموش کردن نسخه پشتیبان از آنها یا نسخه آنها را کنترل می کند؟

من هم بودم – تا زمانی که من یک خط لوله DevOps ساده ساختم که در نمونه EC2 من اجرا می شود و به طور خودکار کد را به GitHub سوق می دهد. نه بیشتر “فراموش کردن مرتکب” یا پرونده های گمشده فقط استقرار تمیز و قابل ردیابی.

در این وبلاگ ، من به شما نشان خواهم داد که چگونه یک اسکریپت پوسته ایجاد کردم که:

سازماندهی کردن وت ساخت پروژه من به صورت محلی روشن است EC2بشر
همگام سازی آخرین پرونده ها
تعهدات وت هل دادن آنها به مخزن جیتاببشر
همه با یکی فرمان 🚀

✨ بیایید شیرجه بزنیم ، باید؟

📚 فهرست مطالب

🌬 مشکل (و راه حل)

شما این احساس را می دانید که وقتی تغییرات را به GitHub ، SSH به نمونه EC2 خود فشار می دهید و پرونده ها را به صورت دستی کپی می کنید؟ 🙄 وقت گیر و مستعد خطا است. اما اتوماسیون قهرمانی است که ما به آن نیاز داریم. 🦸‍♂

🌬 اینجا جادویی است که من تنظیم کردم:

GitHubub: میزبانی کد من
AWS EC2: اجرای برنامه
فیلمنامه Bash: ساخت همه چیز خودکار و یکپارچه.

🌬 پیش نیازها:

قبل از پریدن به سس جادویی ، مطمئن شوید که:

بوها حساب GitHub و یک پروژه برای استقرار.
در نمونه EC2 بالا و دویدن در AWS (آمازون لینوکس یا اوبونتو عالی کار می کند).
دسترسی SSH به شما نمونه EC2 (شما از یک کلید .pem استفاده خواهید کرد).
دانش اساسی از اسکریپت وت دستورات لینوکس (نگران نباشید ، من شما را از طریق آن راهنمایی می کنم!).

مرحله 1: یک نمونه EC2 را در AWS بچرخانید

اولین چیزی که ما نیاز داریم نمونه EC2بشر به راحتی می توانید این کار را از کنسول AWS انجام دهید. انتخاب آمازون لینوکس یا اوبونتو آمی، و مطمئن شوید:

گروه امنیتی اجازه می دهد دسترسی SSH در بندر 22 (برای اتصالات از راه دور).
اختصاص دادن IP الاستیک یا استفاده از IP عمومی برای دسترسی آسان

هنگامی که نمونه در حال اجرا است ، IP عمومی آدرس SSH با استفاده از خود .pem پرونده:

شرح تصویر

شرح تصویر

مرحله 2: اسکریپت استقرار (بیایید خودکار کنیم!)

حالا ، بیایید در مورد قلب اتوماسیون: فیلمنامه Bash! این اسکریپت رسیدگی خواهد کرد:

کشیده آخرین کد از GitHub
ساختمان شما طرح (در صورت لزوم).
اعزام پروژه به شما نمونه EC2 با استفاده از rsync

در اینجا فیلمنامه من به نظر می رسد:

شرح تصویر

🌬 نحوه عملکرد آن:

GIT PULL: این آخرین تغییرات را از GitHub نشان می دهد (بنابراین سرور شما همیشه به روز است).
ساخت اسکریپت: اگر نیاز به تهیه یا تهیه پروژه خود دارید ، این مرحله به آن رسیدگی می کند.
RSYNC: جادو در اینجا اتفاق می افتد! این پرونده ها را از دستگاه محلی شما به نمونه EC2 منتقل می کند.

مرحله 3: دسترسی به SSH (نگرانی بیشتر!)

قبل از استفاده SSH، شما باید مطمئن شوید کلید خصوصی مجوزهای صحیح دارد:
chmod 400 ~/بارگیری/devops.pem

تأیید کنید که شما گروه امنیتی اجازه می دهد SSH (بندر 22) دسترسی. هنگامی که همه چیز در جای خود قرار گرفت ، می توانید اتصال را آزمایش کنید.
ssh -i ~/بارگیری/devops.pem ec2-user@your-ec2-ip

مرحله 4: اسکریپت استقرار را اجرا کنید

هنگامی که فیلمنامه است آماده وت SSH دسترسی تنظیم شده است ، اجرای استقرار یک نسیم است. به سادگی اجرا کنید:

شرح تصویر

شرح تصویر

این همه چیز را برای شما انجام می دهد:

کشیدن آخرین تغییرات از GitHub
اجرا ساخت اسکریپت (در صورت وجود).
مستقر کردن پروژه به نمونه EC2 با استفاده از rsync

مرحله 5: آن را در عمل مشاهده کنید (جادو آشکار می شود!)

پس از نوشتن کد خود ، فقط این دسته کوچک موسیقی جاز دو مرحله ای ساده را دنبال کنید:

فشار به لوب و استقرار را اجرا کنید فیلمنامهبشر
این کشش در آخرین کد به لوب و آن را با RSYNC با سرور خود همگام سازی می کند.

شرح تصویر

شرح تصویر

🌬 نتایج:

اتوماسیون: هر بار که تغییرات جدیدی را به GitHub فشار می دهید ، فقط فیلمنامه را اجرا کنید و POOF ، نمونه EC2 شما به روز می شود. دیگر کپی کردن پرونده دستی!
سرعت: دستور RSYNC فقط پرونده های تغییر یافته را کپی می کند ، بنابراین این روند بسیار سریع است.
قابلیت تولید مثل: شما می توانید از همان اسکریپت در چندین مورد استفاده کنید و از سازگاری در استقرار خود اطمینان حاصل کنید.

🌬 نکات جایزه:

ادغام CI/CD: آیا می خواهید حتی بیشتر بروید؟ این مجموعه را با اقدامات GitHub یا جنکینز ادغام کنید تا هر بار که به GitHub فشار می آورید ، به طور خودکار استقرار را انجام دهید.
امنیت: از مدیریت کلید SSH برای ایمن کردن نمونه های EC2 خود استفاده کنید و اطمینان حاصل کنید که فقط کاربران مجاز می توانند مستقر شوند.

🌬 نتیجه گیری:

و آنجا آن را دارید! فقط با چند ابزار ، من خط لوله استقرار خود را با استفاده از AWS EC2 و GitHub خودکار کردم. آنچه که یک بار ساعت ها از استقرار دستی طول کشید ، چند ثانیه طول می کشد. زیبایی DevOps در اتوماسیون و سرعت آن است. 💨

با دنبال کردن این مراحل ، یک خط لوله قوی و مقیاس پذیر خواهید داشت که باعث صرفه جویی در وقت شما و اطمینان از استقرار صاف می شود. این که آیا شما یک مبتدی هستید یا یک حرفه ای فصلی ، این یک پروژه عالی برای شروع در دنیای DevOps است. 🌍

#30DayslinuxChallenge #Cloudwhisler
devops #linux #rhcsa #opensource #aws #cloudcomputing

از مشخصات LinkedIn من خارج شوید
https://www.linkedin.com/in/rajpreet-gill-4569b4161/

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا