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

فرآیندی که یک دوآپس دنبال میکنهتوی این مطلب قراره که این چرخه جذاب CI/CD رو براتون بشکافم و برای هر کدوم از مراحل ابزار هایی معرفی کنم تا اگر علاقه مند به DEVOPS هستید بتونید به راحتی شروع به یادگیری کنید . اگر به DevOps شدن علاقه دارید و یا در حال یادگیری هستید این مطلب برای شما مناسبه .چرخه CI/CD چیه ؟فرآیند CI/CD تمام کاری هست که یک دوآپس انجام میده . این چرخه , چرخه ای هستش که یک دوآپس اون رو میگردونه و سعی میکنه که این چرخه رو اتوماتیک کنه .اگر با موقعیت دوآپس آشنایی ندارید و وظایفش رو نمیدونید , روی این لینک کلیک کنید . این چرخه از گرفتن کد نهایی دولوپر ها شروع میشه و به تحویل دادن کانتینر به سیستم ادمین ها تموم میشه . اگر دوآپس هستید , انتظار میره که این چرخه رو درک کنید و بتونید دائم این چرخه رو سریع تر و بهتر کنید . بریم که توضیحات ریز تری داشته باشیم . . .مراحل CI کلمه CI مخفف Continuous integration هستش که کلمه integration معنی ادغام کردن و یا متحد کردن رو میده و باید بگم که کلمه خیلی خوبیه برای این مرحله از کار دوآپس . این مرحله اینطور شروع میشه که کد نهایی نوشته شده توسط برنامه نویس ها از گیت ( گیت هاب یا گیت لب ) کلون میشه , یکسری تست روی اون برنامه انجام میشه , برنامه پکیج میشه تا بشه روی سیستم عامل های دیگه نصبش کرد ( اگر وب هست که هیچی ) و در آخر , فایل رو در قالب یه فایل داکرایز , ریلیز میشه . تست کردنبعد از اینکه فایل های نهایی رو از گیت کلون کردید , شما طبق سناریو هایی که تیم تست به شما داده و یا حتی سناریو هایی که خودتون دارید , اون فایل ها رو تست میکنید تا اصطلاحا از سلامت فایل مطمئن بشید .پکیج کردن بعد از گذروندن مرحله تست شما باید این فایل ها رو پکیج کنید تا بتونید اون ها رو روی سیستم عامل ها نصب کنید , برای این کار میتونید از جاوا استفاده کنید و اگه فایل جاوا اسکریپت هست , میتونید از npm استفاده کنید و فایل ها رو پکیج کنید . ( البته جای جالبش اینه که میتونید از این دوتا در کنار هم استفاده کنید مثلا یه وب سایت کامل که هم فرانت داره هم بک اند )مراحل CDشما بعد از اینکه برنامه خودتون رو به یه پکیج تبدیل کردید , باید اون رو روی سرور آپلود کنید تا سیستم ادمین ها بتونن کارای سمت سرور رو انجام بدن ( منظور از سیستم ادمین ها , همون تیم operation هست ) .خوب شما با استفاده از ابزار هایی مثل داکر و کوبرنتیز این کار رو انجام میدید ( البته کوبرنتیز برای کار های بزرگتر هستش ) .درباره داکر حتما مطالعه کنید و سریعا کار کردن باهاش رو یاد بگیرید و سعی کنید این چرخه CI/CD رو در حد یه پروژه کوچیک انجام بدید تا کم کم دستتون بیاد .بعد از داکرایز کردن فایل هاتون باید اون رو روی سرور دیپلوی کنید و اون ها رو به تیم Operation بسپارید و بعد دوباره به اول این چرخه بر میگردید ( البته بخش مانیتورینگ هم این وسط مطرحه )اتوماتیک سازی شما به عنوان یه دوآپس باید بتونید که تمام این چرخه رو تا حد ممکن اتوماتیک کنید . اگر برنامه نویسی هستید میتونید که با استفاده از کتابخانه سلنیوم یک ربات بنویسید تا این چرخه رو براتون انجام بده ولی من پیشنهاد میکنم که از ابزار جنکینز ( JENKINS ) برای اتوماتیک سازی استفاده کنید , چون هم کار شما رو راحت تر میکنه و هم اینکه این ابزار در حال حاضر بهترین ابزار برای اتوماتیک سازی هست .اگر دوست دارید درباره ابزار جنکینز مطالعه کنید , روی این لینک کلیک کنید .البته این رو هم نادیده نگیریم که گیت لب هم گزینه قدرتمندی توی این زمینه هست و اینجا دیگه انتخاب با شماست که چه ابزاری رو انتخاب میکنید .نتیجه گیری این ها تمام چیز هایی بودن که من از این چرخه درک کردم و سعی کردم که به ساده ترین و روان ترین حالت بنویسم . شما کاملا آزاد هستید که نظرتون رو بگید , شاید من در اشتباه هستم و شاید هم خیلی خوب این مطلب رو درک کردم . اگر مطالبی رو میشناسید که میتونه دانش من رو توی این حوزه بالا ببره , لطفا معرفی کنید . این مطلب شایسته جذاب بودن هست و اگر هم مشکلی داشته خیلی خوشحال میشم تا توی بخش نظرات اعلام کنید .سالم و سلامت باشید . . .