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