MostafaOps
73 subscribers
1 video
3 files
10 links
Download Telegram
Channel created
Channel photo updated
ما ساعت ۱۶ میت اینتروداکشن این دوره رو با هم برگزار می‌کنیم و در مورد این که چه کارهایی می‌خوایم بکنیم و پروژه‌ای که می‌خوایم با هم جلو ببریم چیه اینجا صحبت می‌کنیم:
meet.google.com/fvd-svch-kan
4👍4
MostafaOps-Phase1.pdf
155.7 KB
فاز اول پروژه

1. Gitlab CI/CD
2. Docker
3. Docker-compose
👍5
MostafaOps
MostafaOps-Phase1.pdf
از هیچ قسمت از پروژه نترسین، کلید انجام دادنش اینه که نترسین، چندتا لینک هم گذاشتم. مثال هم کم نیست توی اینترنت!
مطمئنم از پسش برمیاید 🤓
👍1
پروژه رو بخونین، لینک‌های داخلش رو هم بخونین
تلاش‌تون رو بکنین
فردا میایم و حلش می‌کنیم و کارهایی بچه‌های گروه اختصاصی انجام دادن رو دیباگ می‌کنیم 😉
MostafaOps
MostafaOps-Phase1.pdf
دوستان عزیزی که تازه توی گیت‌لب ثبت‌نام کردن، نمی‌تونن از رانرهای رایگان گیت‌لب استفاده کنن
بهشون توصیه می‌کنم توی لوکال‌شون یه گیت‌لب رانر ستاپ کنن و از اون استفاده کنن

https://alirezarezvani.medium.com/easy-steps-to-setup-your-own-gitlab-runner-on-gitlab-or-locally-e6618212c442

این لینک رو می‌تونین بخونین برای این موضوع
👍3
خب دم همه‌ی کسایی که خارج از گروه اختصاصی و داخل گروه اختصاصی روی فاز اول پروژه وقت گذاشتن
برای خودم که تا اینجای مسیر خیلی جذاب بوده 🤓🔥

امروز ساعت ۱۶ منتظر همه‌تون هستم که بریم این قسمت رو با هم حل کنیم و کیف کنیم 🤓
توی این جلسه اول خودم فاز اول پروژه رو حل می‌کنم، و بعد اعضای گروه اختصاصی هر کدوم نشون میدن چیکار کردن و من اگه نکته‌ای باشه میگم که بهترش بکنن!

لینک جلسه:
https://meet.google.com/fvd-svch-kan
می‌بینم‌تون ❤️
👍2
امروز ساعت ۱۸ ادامه بدیم یا بذاریم فردا ساعت ۱۸
Anonymous Poll
29%
امروز ساعت ۱۸
71%
فردا ساعت ۱۸
https://gitlab.com/mostafabayat76/mostafaops

این هم ریپوزیتوری‌ایه که سعی می‌کنم همه‌ی قسمت‌های پروژه رو روش پوش بکنم و در آینده اگه دوست داشتین مورد استفاده قرار بدین
🙏63
خلاصه‌ی جلسه‌ی آنلاین اول:
در قدم اول اومدیم یه پروژه ساختیم و با استفاده از فایل .gitlab-ci.yml براش پایپ‌لاین ساختیم!
گفتیم مفاهیم اصلی و بنیادینش ایناست:
1. pipelines
که می‌تونی برای کارهای مختلفی که می‌خوای به صورت اتوماتیک انجام بشه پایپ‌لاین تعریف کنی، مثلا ساخت اپلیکیشن و دیپلوی و آپدیتش توی پروداکشن
2. stages
هر پایپ‌لاین از تعدادی استیج تشکیل شده، که به صورت پشت سر هم اجرا میشن، و نه به صورت موازی
3. jobs
هر استیج از تعدادی جاب تشکیل شده که شما می‌تونین با زبان yaml اون رو کاملاً تعیین کنید

ساده‌ترین فایل .gitab-ci.yml:
stages:
- print

print-message:
stage: print
image: reg-pub.pegah.tech/docker.io/library/ruby:2.7
script:
- echo "Let's use Gitlab CI/CD"


بعدش در مورد رانر صحبت کردیم، گفتیم رانر چیزیه که جاب‌های تعریف شده در ci/cd رو اجرا می‌کنه، و یه سرور یا یه کانتینر یا همچین چیزیه که بتونه یه سری دستورات رو اجرا کنه
‍۱. رانرها یا توسط gitlab.com راه‌اندازی شدن و در اختیار همه قرار گرفتن (که برای یوزرهای جدید بدون شماره خارجی غیرفعاله)
۲. یا توسط خودمون راه‌اندازی میشن و به gitlab.com متصل میشن

این رانرها :
1. instance runners
که می‌تونن جاب‌های همه‌ی پروژه‌ها رو اجرا کنن
2. group runners
که می‌تونن جاب‌های پروژه‌های داخل یک گروه رو اجرا کنن
3. project runners
که فقط مخصوص یک پروژه هستن
ولی نصب همه‌ی این‌ها به یک شکله و تفاوتی نمی‌کنه

ما تصمیم گرفتیم از طریق داکر رانر رو نصب کنیم، و executer اون رو هم داکر تعریف کنیم!
ابتدا از طریق
settings > CI/CD > Runners > New Runner
یه رانر می‌سازیم و authentication token رو کپی می‌کنیم
سپس با استفاده از این کامند یک کانتینر موقت می‌سازیم و رانر رو رجیستر می‌کنیم
docker run --name runner --rm -it -v /tmp/mostafaops/runner/config:/etc/gitlab-runner --entrypoint bash gitlab/gitlab-runner:v17.3.1
gitlab-runner register --url https://gitlab.com --token <token>

مهمه که بدونیم باید /etc/gitlab-runner رو به یه دایرکتوری مطمئن mount کنیم که پرسیست باشه و بتونیم بعدا ازش استفاده کنیم
سپس با استفاده از docker-compose رانر رو اجرا می‌کنیم:
services:
gitlab-runner:
image: reg-pub.pegah.tech/docker.io/gitlab/gitlab-runner:v17.3.1
container_name: runner
restart: always
volumes:
- ./config:/etc/gitlab-runner
- /var/run/docker.sock:/var/run/docker.sock

نکته‌ی مهم mount کردن docker.sock به کانتینره که به رانر قدرت ایجاد کانتینر به ازای هر جاب رو میده (با توجه به این که ما executer رو داکر گذاشتیم) و سپس توی پروژه‌مون می‌تونیم ببینیم که رانرمون سبز شده و قابل استفاده‌ست
12👍3
فردا ساعت ۱۸ می‌بینم‌تون ❤️
شاید فاز بعدی رو هم برای کسایی که پروژه رو انجام دادن زودتر توی چنل گذاشتم
👍6👌2🙏1
از فاز بعدی می‌خوایم وارد کوبرنتیز بشیم که قسمت جذاب ماجراست 🤓
کسانی که فاز اول رو بدون مشکل انجام دادن و سوالی ندارن می‌تونن با خوندن این دوتا لینک شروع کنن:
https://medium.com/@mfsilv/kubernetes-a-gentle-introduction-9d23de7f00e0
https://medium.com/@mfsilv/kubernetes-for-dummies-the-cluster-7cf6a7b5532
🔥42
دوستان عذر می‌خوام
من از دیشب یه مشکلی برام پیش اومد و امروز نمی‌تونم در خدمت‌تون باشم
ایشالا فردا هم خلاصه‌ی جلسه‌ی دیروز و هم توضیحات مربوط به فاز بعدی پروژه رو می‌ذارم براتون
ممنونم بابت بردباری‌تون 🙃❤️
🙏105
سلام و وقت بخیر خدمت دوستان عزیزم که با ما همراه بودید
اول از همه پوزش بابت این دو روز که من خیلی درگیر بودم، و جدای از اون، دو بار دیتاسنترمون با خاموشی کامل مواجه شد و فشار کاری و شب‌بیداری نذاشت که این دوره رو اونجوری که دلم می خواست ادامه بدم 🤓
ولی امروز اومدم با خلاصه‌ی جلسه دوم و انتشار فاز دوم پروژه

با ما همراه باشید 🤓❤️
😍75👏1👌1