علی اکبر ظهور
علی اکبر ظهور
خواندن ۴ دقیقه·۳ سال پیش

آشنایی با مفهوم CI/CD

فرآیندی که یک دوآپس دنبال میکنه
فرآیندی که یک دوآپس دنبال میکنه

توی این مطلب قراره که این چرخه جذاب CI/CD رو براتون بشکافم و برای هر کدوم از مراحل ابزار هایی معرفی کنم تا اگر علاقه مند به DEVOPS هستید بتونید به راحتی شروع به یادگیری کنید . اگر به DevOps شدن علاقه دارید و یا در حال یادگیری هستید این مطلب برای شما مناسبه .

چرخه CI/CD چیه ؟

فرآیند CI/CD تمام کاری هست که یک دوآپس انجام میده . این چرخه , چرخه ای هستش که یک دوآپس اون رو میگردونه و سعی میکنه که این چرخه رو اتوماتیک کنه .

اگر با موقعیت دوآپس آشنایی ندارید و وظایفش رو نمیدونید , روی این لینک کلیک کنید .

این چرخه از گرفتن کد نهایی دولوپر ها شروع میشه و به تحویل دادن کانتینر به سیستم ادمین ها تموم میشه . اگر دوآپس هستید , انتظار میره که این چرخه رو درک کنید و بتونید دائم این چرخه رو سریع تر و بهتر کنید . بریم که توضیحات ریز تری داشته باشیم . . .

مراحل CI

کلمه CI مخفف Continuous integration هستش که کلمه integration معنی ادغام کردن و یا متحد کردن رو میده و باید بگم که کلمه خیلی خوبیه برای این مرحله از کار دوآپس . این مرحله اینطور شروع میشه که کد نهایی نوشته شده توسط برنامه نویس ها از گیت ( گیت هاب یا گیت لب ) کلون میشه , یکسری تست روی اون برنامه انجام میشه , برنامه پکیج میشه تا بشه روی سیستم عامل های دیگه نصبش کرد ( اگر وب هست که هیچی ) و در آخر , فایل رو در قالب یه فایل داکرایز , ریلیز میشه .

تست کردن

بعد از اینکه فایل های نهایی رو از گیت کلون کردید , شما طبق سناریو هایی که تیم تست به شما داده و یا حتی سناریو هایی که خودتون دارید , اون فایل ها رو تست میکنید تا اصطلاحا از سلامت فایل مطمئن بشید .

پکیج کردن

بعد از گذروندن مرحله تست شما باید این فایل ها رو پکیج کنید تا بتونید اون ها رو روی سیستم عامل ها نصب کنید , برای این کار میتونید از جاوا استفاده کنید و اگه فایل جاوا اسکریپت هست , میتونید از npm استفاده کنید و فایل ها رو پکیج کنید . ( البته جای جالبش اینه که میتونید از این دوتا در کنار هم استفاده کنید مثلا یه وب سایت کامل که هم فرانت داره هم بک اند )

مراحل CD

شما بعد از اینکه برنامه خودتون رو به یه پکیج تبدیل کردید , باید اون رو روی سرور آپلود کنید تا سیستم ادمین ها بتونن کارای سمت سرور رو انجام بدن ( منظور از سیستم ادمین ها , همون تیم operation هست ) .

خوب شما با استفاده از ابزار هایی مثل داکر و کوبرنتیز این کار رو انجام میدید ( البته کوبرنتیز برای کار های بزرگتر هستش ) .

درباره داکر حتما مطالعه کنید و سریعا کار کردن باهاش رو یاد بگیرید و سعی کنید این چرخه CI/CD رو در حد یه پروژه کوچیک انجام بدید تا کم کم دستتون بیاد .

بعد از داکرایز کردن فایل هاتون باید اون رو روی سرور دیپلوی کنید و اون ها رو به تیم Operation بسپارید و بعد دوباره به اول این چرخه بر میگردید ( البته بخش مانیتورینگ هم این وسط مطرحه )

اتوماتیک سازی

شما به عنوان یه دوآپس باید بتونید که تمام این چرخه رو تا حد ممکن اتوماتیک کنید . اگر برنامه نویسی هستید میتونید که با استفاده از کتابخانه سلنیوم یک ربات بنویسید تا این چرخه رو براتون انجام بده ولی من پیشنهاد میکنم که از ابزار جنکینز ( JENKINS ) برای اتوماتیک سازی استفاده کنید , چون هم کار شما رو راحت تر میکنه و هم اینکه این ابزار در حال حاضر بهترین ابزار برای اتوماتیک سازی هست .

اگر دوست دارید درباره ابزار جنکینز مطالعه کنید , روی این لینک کلیک کنید .

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

نتیجه گیری

این ها تمام چیز هایی بودن که من از این چرخه درک کردم و سعی کردم که به ساده ترین و روان ترین حالت بنویسم . شما کاملا آزاد هستید که نظرتون رو بگید , شاید من در اشتباه هستم و شاید هم خیلی خوب این مطلب رو درک کردم . اگر مطالبی رو میشناسید که میتونه دانش من رو توی این حوزه بالا ببره , لطفا معرفی کنید . این مطلب شایسته جذاب بودن هست و اگر هم مشکلی داشته خیلی خوشحال میشم تا توی بخش نظرات اعلام کنید .

سالم و سلامت باشید . . .


devopsکاربردیدوآپسبرنامه نویسیci cd
محتوای کاربردی در زمینه برنامه نویسی و مهندسی نرم افزار تولید میکنم و سعی میکنم تا تجربیات خودم رو مطرح کنم . صفحه لینکدین من : https://www.linkedin.com/in/aliakbarzohour/
شاید از این پست‌ها خوشتان بیاید