database backup plans

آموزش بکاپ گیری از دیتابیس MySQL

درباره اهمیت بکاپ گیری و ویژگی‌های یک پلن بکاپ گیری از دیتابیس مفصلا صحبت کردیم. اما بطور خلاصه، با توجه به اهمیت اطلاعات پایگاه داده و سرعت بالای تغییرات در آن، لازم است بطور دوره‌ای از دیتابیس خود نسخه پشتیبان تهیه کنیم. در این مقاله به انواع روش‌های بکاپ گیری از دیتابیس (به خصوص MySQL)، نحوه برگرداندن بکاپ دیتابیس، نحوه بکاپ گرفتن از دیتابیس در فضای ابری و بکاپ گیری اتوماتیک از دیتابیس خواهیم پرداخت.

روش‌های بکاپ گیری از دیتابیس MySQL

روش‌های مختلفی برای بکاپ گیری (Backup) از پایگاه داده MySQL وجود دارد که براساس نحوه پیاده سازی سرویس شما و زیرساختی که از آن استفاده می‌کنید متفاوت است. چنانچه سایت یا اپلیکیشن خود را بطور مستقیم روی سرور مجازی پیاده سازی کرده‌اید، باید از ابزار mysqldump برای بکاپ استفاده کنید. اگر در کنار سرویس‌های سایت یا اپلیکیشن خود، ابزار phpMyAdmin را هم نصب کرده‌اید، می‌توانید از رابط گرافیکی آن برای دانلود نسخه پشتیبان از پایگاه داده خود استفاده کنید. همچنین در صورتی که سرویس دهنده شما پنل دایرکت ادمین یا cpanel در اختیار شما قرار داده یا از ارائه دهندگان دیتابیس ابری خدمت می‌گیرید، می‌توانید به راحتی از پرتال آن‌ها برای زمان‌بندی و بک آپ گیری دیتابیس خود استفاده کنید. در ادامه هر کدام از این روش‌ها را با جزئیات بیشتر شرح می‌دهیم.

نحوه بکاپ گیری از دیتابیس با استفاده از خط فرمان CLI سرور

اگر سایت یا نرم افزار شما بدون واسطه روی سرور لینوکسی نصب شده که مدیریت آن بر عهده‌ی خود شماست، می‌توانید براحتی با استفاده از ابزار  mysqldump (که بصورت پیش‌فرض با دیتابیس mysql نصب می‌شود) از دیتایس بکاپ بگیرید. برای این کار به سرور خود ssh زده و دستور زیر را با دسترسی روت اجرا کنید:

$ sudo mysqldump -u [user] -p [database_name] > [filename].sql

فراموش نکنید که باید نام کاربری دیتابیس، نام دیتابیس و نام فایل را در دستور بالا جایگزین کنید. اگر می‌خواهید از همه دیتابیس‌های سیستم بکاپ بگیرید می‌توانید دستور مذکور را با آپشن‌های زیر اجرا کنید. این دستور تاریخ روز را هم به اسم فایل بکاپ اضافه می‌کند:

$ mysqldump --all-databases --single-transaction --quick --lock-tables=false > full-backup-$(date +%F).sql -u root -p

نحوه برگرداندن بکاپ دیتابیس با استفاده از خط فرمان CLI سرور

بازگردانی (Restore) بکاپ دیتابیسی که با استفاده از خط فرمان گرفته‌اید هم به اندازه بکاپ گیری آن ساده بوده و با یک خط انجام می‌شود. فقط به خاطر داشته باشید که برای برگرداندن بکاپ باید بجای mysqldump از دستور mysql استفاده کنید:

$ mysql -u [user] -p [database_name] < [filename].sql

نحوه بکاپ گیری از MySQL با استفاده از phpMyAdmin

یکی از ابزارهای اختیاری که مدیریت پایگاه داده MySQL را تسهیل می کند phpMyAdmin است. اگر این ابزار را روی سرور دیتابیس خود نصب کرده‌اید، می‌توانید از آن برای بکاپ گیری دیتابیس خود استفاده کنید.

برای این کار ابتدا وارد پنل phpMyAdmin شده و از ستون سمت چپ دیتابیس مورد نظر خود را انتخاب کنید.

سپس از نوار بالا روی لینک Export کلیک کنید. برای سرعت بیشتر متد بکاپ quick و فرمت sql را انتخاب کرده و دکمه Go را بزنید تا فایل بکاپ شما دانلود شود.

phpmyadmin database backup

نحوه برگرداندن بکاپ دیتابیس MySQL با استفاده از phpMyAdmin

بازگردانی بکاپ دیتابیس را هم می‌توانید بوسیله پنل phpMyAdmin انجام دهید. تنها نکته‌ای که هنگام برگرداندن بک آپ دیتابیس باید به آن توجه کنید خالی بودن دیتابیس فعلی است؛ چراکه اطلاعات بازگردانی شده با اطلاعات قبلی جایگزین (overwrite) نمی‌شود. بنابراین اگر داده‌ای از قبل در دیتابیس وجود داشته باشد، بازگردانی بک آپ ممکن است باعث ایجاد ردیف‌های تکراری یا اختلال و خطا شود.

بنابراین همیشه قبل از بازگردانی فایل پکاپ دیتابیس، دیتابیس فعلی را پاک کنید. برای این کار از ستون سمت چپ phpMyAdmin پایگاه داده مورد نظر خود را انتخاب کنید. سپس در انتهای لیست جدول‌ها گزینه Check All را انتخاب کرده و در لیست مقابل آن Drop را بزنید. برای تایید دکمه Yes را بزنید.

حالا برای بازگردانی بک آپ دیتابیس همانند ساخت بکاپ، روی دیتابیس مورد نظر کلیک کنید، فقط این بار بجای گزینه Export گزینه Import را انتخاب کنید. فایل بکاپ پایگاه داده را انتخاب کرده و دکمه Go را بزنید.

نحوه بکاپ گرفتن از دیتابیس در فضای ابری

اصولا نگهداری بکاپ روی فضای محلی سرور یا دانلود آن روی کامپیوتر شخصی کار درستی نیست. این کار دو ایراد اساسی دارد: اول اینکه در صورت خرابی سخت افزار سرور اصلی (هارد یا SSD) یا از دسترس خارج شدن آن (مشکل شبکه) شما دسترسی به بکاپ‌های دیتابیس خود را هم از دست می‌دهید؛ که در بدترین حالت ممکن است منجر به از دست رفتن همه اطلاعات دیتابیس شما شود و بازگردانی اطلاعات پایگاه داده در سروری دیگر را غیرممکن کند. دانلود بک آپ‌های دیتابیس هم خیلی کاربردی نیست چراکه در صورت بروز خرابی، زمان بازگردانی دیتابیس و به طبع آن سرویس شما را به شدت افزایش می‌دهد.

یکی از روش‌های بهینه برای ذخیره سازی و نگهداری بک آپ های دیتابیس استفاده از فضای ابری است. فضای ذخیره سازی ابری که پرکاربردترین نوع آن آبجکت استوریج (object storage) است، به شما این امکان را می‌دهد تا فایل‌های خود را بصورت آبجکت در فضای امن و همیشه در دسترس ذخیره و نگهداری کنید. شرکت‌های ارائه‌ دهنده فضای ابری معمولا پلن‌های مختلفی متناسب با نیازهای شما ارائه می‌دهند که ذخیره‌سازی بکاپ‌های شما در فضای ابری را بسیار مقرون به صرفه می‌کند. برای مثال آمازون AWS پلن آبجکت استوریج با عنوان S3 IA (Infrequently Accessed) ارائه می‌کند؛ S3 IA یک آبجکیت استوریج برای فایل‌هایی است که به ندرت به آن‌ها نیاز خواهید داشت، دقیقا مثل فایل‌های بکاپ پایگاه داده. با استفاده از این پلن، هزینه نگهداری بکاپ‌های شما در فضای ابری بسیار پایین خواهد بود اما به ازای هر دانلود هزینه‌ای به فاکتور شما اضافه می‌شود. در ادامه نحوه بکاپ گیری از دیتابیس MySQL در فضای ابری AWS و همچنین آبجکت استوریج ابر آروان (که از استاندارد S3 آمازون AWS استفاده می‌کند) را آموزش خواهیم داد.

آموزش بک آپ گیری از دیتابیس روی آبجکت استوریج آمازون AWS

بهترین گزینه برای فضای ابری، سرویس S3 آمازون AWS است. آمازون S3 نه تنها ماندگاری داده‌های شما را با درصد ۹۹.۹۹۹۹۹۹۹۹۹۹۹ تضمین می‌کند، بلکه ۵ گیگابایت فضای ذخیره سازی رایگان ابری در اختیار شما قرار می‌دهد. پلن فضای ذخیره سازی ابری رایگان AWS یک ساله بوده و شما علاوه بر ۵ گیگابایت فضای رایگان، تا ۲۰۰۰ ریکوئست آپلود و ۲۰۰۰۰ ریکوئست دانلود رایگان خواهید داشت.

ابتدا یک باکت (Bucket) در کنسول آمازون AWS ایجاد کنید (دقت کنید که پلن 5GB Standard Free Tier را انتخاب کرده باشید). این قسمت در بخش S3 (زیر مجموعه Storage) قرار دارد. دقت کنید که قبل از ساخت باکت، region یا ناحیه مورد نظر خود را درست انتخاب کرده باشید. برای تغییر ناحیه از لیستی که سمت راست نوار بالای کنسول قرار دارد استفاده کنید.

حتما بعد از ساخت باکت یک حساب کاربری جدید با سطح دسترسی به باکت‌های S3 ایجاد کنید. برای این کار به بخش IAM در کنسول AWS وارد شده و از قسمت Users یک حساب کاربری جدید بسازید. هنگام ساخت یوزر جدید این موارد را رعایت کنید: اول اینکه نوع دسترسی کاربر (Access Type) را Programmatic Access انتخاب کنید تا کاربر شما امکان دسترسی با aws cli را داشته باشد. مورد دوم که باید رعایت کنید نوع permission انتخابی برای کاربر است که حتما باید شامل policy ادمین یا S3 باشد. در مرحله آخر هم حتما کلیدهای access و secret را ذخیره کنید زیرا فقط یک بار برای شما نمایش داده می‌شوند.

در نهایت شما باید موارد زیر را در اختیار داشته باشید که هنگام ذخیره سازی بکاپ به آن‌ها نیاز خواهیم داشت.

AWS Bucket Name

AWS Access Key ID

AWS Secret Access Key

بعد از ساخت باکت به ترمینال SSH سرور مجازی خود برگردید. برای اینکه امکان ذخیره سازی بکاپ دیتابیس روی فضای ابری AWS را داشته باشید باید AWS CLI را روی ماشین مجازی خود نصب کرده و Access key  و Secret Key خود را روی آن تنظیم کنید. در صورتی که از سرور مجازی AWS یا همان اینستنس EC2 استفاده می‌کنید این ابزار به صورت پیشفرض روی سرور شما نصب است.

$ apt install unzip curl
$ curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
$ unzip awscliv2.zip
$ ./aws/install
$ aws configure

بعد از زدن دستور آخر، ترمینال Access Key و Secret Key اکانت AWS شما را خواهد پرسید. اطلاعات خود را وارد کرده و اینتر کنید. از این به بعد به راحتی و تنها با یک خط می‌توانید بک آپ های دیتابیس خود را به فضای ابری AWS منتقل کنید:

$ aws s3 cp [filename].sql s3://[bucket-name]

با استفاده از دستور زیر می‌توانید لیست بکاپ‌های دیتابیس My SQL روی فضای ابری را مشاهده کنید:

$ aws s3 ls s3://[bucket-name]/

آموزش بک آپ گیری از دیتابیس روی آبجکت استوریج ابر آروان

چنانچه تمایل دارید از فضای ذخیره سازی ابری ایرانی برای نگهداری بک آپ پایگاه داده خود استفاده کنید، آبجکت استوریج ابر آروان و ایرانسل گزینه‌های مناسبی هستند. با توجه به اینکه ابر آروان دارای پلن فضای ذخیره سازی رایگان ۵ گیگابایتی (با محدودیت پهنای باند ۲۰ گیگابایت) است، ما هم در ادامه نحوه پشتیبان گیری دیتابیس روی این فضای ابری را شرح می‌دهیم. قیمت فضای ذخیره سازی آبجکت با همین مشخصات در خدمات ابری ایرانسل ماهیانه حدودا ۱۱۸۸۰ تومان است.

نحوه ذخیره سازی بکاپ دیتبایس روی فضای ابری ابر آروان بسیار شبیه به آمازون AWS است، با این تفاوت که به جای ابزار aws باید از rclone استفاده کنید. rclone قابلیت انتقال فایل به اکثر ارائه دهندگان فضای ابری، مخصوصا آن‌هایی که از استاندارد S3 آمازون استفاده می‌کنند را داراست. برای این منظور ابتدا پکیج rclone را نصب کرده و تنظیمات آن را به صورت زیر انجام دهید:

$ apt install rclone
$ rclone config

بعد از زدن آخرین دستور، لیست استوریج‌هایی که به rclone اضافه کرده‌اید را مشاهده خواهید کرد. قاعدتا این لیست باید خالی باشد. کاراکتر n  را برای اضافه کردن استوریج جدید وارد کنید. سپس یک اسم دلخواه برای سرویس دهنده خود وارد کنید، مثلا arvan. در مراحل بعدی نوع آبجکت استوریج را s3 انتخاب کرده و other را برای provider وارد کنید.

در مرحله بعدی false را انتخاب کنید تا بتوانید access key و secret key آروان را به صورت دستی وارد کنید. سپس گزینه ۱ را برای ریجن انتخاب کرده و در آخر آدرس endpoint که از ابر آروان دریافت کرده‌اید را وارد کنید.

از این پس می‌توانید با دستور زیر بک اپ های خود را به فضای ابری آروان منتقل کنید:

$ rclone copy [filename].sql arvan:[bucket-name]/[filename].sql

بکاپ گیری و بازگردانی اتوماتیک دیتابیس MySQL

راهکارهایی که تا الان بررسی کردیم مزایا و معایب متفاوتی دارند. اما مشکل یا عیب اصلی که بین همه‌ی این روش‌ها مشترک است، مدت زمان زیاد بازیابی یا ریستور دیتابیس است که Disaster Recovery Plan شما را بسیار کند می‌کند.  در صورتی که سرور عملیاتی شما دچار خرابی شده یا از دسترس خارج شود، شما نسخه‌ای از دیتابیس خود را در فضای ابری خواهید داشت، اما برگرداندن دیتابیس از فضای ابری و راه اندازی آن در سرور عملیاتی جدید زمان زیادی نیاز دارد که صدمه زیادی به سایت یا سرویس شما می‌رساند.

مشکل دوم روش‌های مذکور، دستی بودن آن‌هاست. البته شما براحتی می‌توانید یک اسکریپت بنویسید تا عملیات بکاپ گیری از دیتابیس‌های شما بصورت اتوماتیک انجام شود. اما تاثیر بک آپ گیری روی کارایی سرور شما به اندازه کافی زیاد است که شما را مجبور کند در فاصله‌های زمانی طولانی اسکریپت بکاپ را اجرا کنید. در اکثر موارد کسب و کارها و استارتاپ‌ها مجبور می‌شوند زمان بکاپ گیری را به نیمه شب موکول کنند.

استفاده از سرویس دیتابیس ابری مدیریت شده به شما این امکان را می‌دهد تا در کنار مزایای همه روش‌های مذکور، این ۲ چالش برزگ را هم حل کنید.

بکاپ گیری و بازگردانی اتوماتیک دیتابیس با استفاده از دیتابیس ابری مدیریت شده

استفاده از دیتابیس ابری مدیریت شده به شما این توانایی را می‌دهد تا:

بکاپ اتوماتیک با فاصله زمانی کوتاه روی سرورهای عملیاتی جاری و ثالث ایجاد کنید.

هشدار کارایی و سلامت برای دیتابیس‌های خود داشته باشید.

تنها با یک کلیک و در عرض چند ثانیه بک آپ دیتابیس را روی سرور عملیاتی بازگردانید.

برای دسترسی به لیست بکاپ‌های دیتابیس ابتدا وارد پنل مدیریت پنکیک شوید. در صورتی که قبلا دیتابیس خود را ایجاد کرده باشید، سکوی ابری پنکیک بصورت خودکار هر ساعت از دیتابیس شما فول بکاپ می‌گیرد. برای مشاهده لیست بکاپ‌ها، کافی است دیتابیس مورد نظر خود را از ستون سمت راست انتخاب کرده و وارد تب Fork Database شوید. لیست نسخه‌های بکاپ دیتابیس شامل ۴۸ فول بکاپِ ساعتی از ۴۸ ساعت گذشته و همچنین ۲۸ فول بکاپِ روزانه از ۳۰ روز گذشته است.

pancake DBaaS backup

برای برگرداندن هر کدام از بکاپ‌ها کافی است روی آیکون کنار ردیف مورد نظر کلیک کرده تا در کمتر از یک دقیقه دیتابیس مورد نظر روی سرور عملیاتی ریستور شود. بک آپ گیری اتوماتیک از دیتابیس و بازگردانی آن در دیتابیس‌های ابری پنکیک منحصر به پایگاه داده ی خاصی نیست و به صورت پیش‌فرض برای همه‌ی دیتابیس‌های پنکیک شامل MySQL، PostgreSQL، MongoDB و SQL Server فعال است.

ci cd روند

CI CD چیست؟

CI/CD یا یکپارچه سازی مداوم و تحویل یا استقرار پیوسته، روشی است که اغلب با اتوماسیون مراحل توسعه اپلیکیشن، تحویل برنامه‌ها به مشتری را تسریع می‌کند. مفاهیم اصلی که CI/CD را در برمی‌گیرند شامل یکپارچه سازی مداوم، تحویل پیوسته و استقرار مستمر هستند. CI CD یک راه حل برای مشکلاتی است که در هنگام پیاده سازی کد جدید در طول پروسه توسعه نرم افزار و عملیات مربوطه پیش می آیند.

به طور خاص،‌ CI/CD یک پروسه مستمر برای  اتوماسیون و مانیتورینگ دائم چرخه عمر یک اپلیکیشن است، این پروسه شامل یکپارچه سازی، تست، تحویل و استقرار است. به طور کلی، به مجموعه این عملیات پایپلاین (pipeline) CI/CD گفته می‌شود که با همکاری تیم‌ توسعه و مهندسین دواپس (DevOps) با رویکرد مدیریت چابک (Agile) پیاده‌سازی می‌شود.

تفاوت بین CI‌ و CD‌ چیست؟

CI/CD معانی مختلفی دارد. CI به معنی ادغام یا یکپارچه سازی مداوم (Continuous Integration) بوده که یک پروسه اتوماسیون برای توسعه دهندگان است. CI موفق به این معنی است که تغییرات کد برای یک اپلیکیشن به طور منظم ساخته و تست شده و در کتابخانه (ریپازیتوری) ادغام می‌شوند. در واقع CI راه حلی برای این مشکل است که هر برنامه در حال توسعه ممکن است چندین شاخه داشته باشد که با یکدیگر تعارض داشته باشند.

اما سی دی در CI/CD به معنی استقرار یا تحویل مداوم است، این مفاهیم آنقدر نزدیک به هم هستند که گاهی به جای یکدیگر مورد استفاده قرار می‌گیرند. این مفاهیم هر دو به معنی اتوماسیون مراحل بعدی در پایپلاین یک برنامه هستند ولی گاهی اوقات به طور جداگانه برای نشان دادن این موضوع که چه مقدار از اتوماسیون در حال رخ دادن است، استفاده می‌شوند.

تحویل پیوسته (Continuous Delivery) به این معنی است که تغییرات توسعه دهنده در یک برنامه به طور مداوم در حال تست شدن و سپس ذخیره در یک منبع (ریپازیتوری) هستند، جایی که بعدا توسط تیم عملیاتی به محیط عملیاتی منتقل می‌شوند. تحویل پیوسته در واقع راه حلی برای ارتباط ضعیف بین تیم‌های توسعه و تجاری است، با این هدف که استقرار کد کمترین انرژی را از تیم‌های توسعه بگیرد.

اما برداشت دیگری که از CD می‌شود، تحت عنوان استقرار پیوسته (Continuous Deployment) نام دارد. که به طور خودکار تغییرات توسعه دهنده برنامه را از منبع یا همان repository به محیط عملیاتی (که مشتریان در حال استفاده از آن هستند) منتقل می‌کند. این مسئله به مشکل تیم‌های عملیاتی‌ می‌پردازد که به طور ویژه درگیر پروسه کند و‌ دستی‌ پیاده سازی برنامه در محیط عملیاتی هستند. این عملیات به اتوماسیون مراحل از تحویل پیوسته در پایپلاین برنامه می‌پردازد.

بنابراین CI/CD می تواند به ۲ موضوع اشاره داشته باشد: ۱) یکپارچه سازی و تحویل پیوسته ۲) یکپارچه سازی، تحویل و استقرار پیوسته. البته در بعضی موارد از تحویل پیوسته به جای استقرار پیوسته هم استفاده می‌شود! یعنی براساس منظور گوینده، تحویل پیوسته می تواند شامل اسقرار پیوسته هم باشد. در پایان باید گفت که لازم نیست خیلی درگیر جزئیات شوید، صرفا بایستی بدانید که این پروسه عملیاتی به طور کلی شامل خودکارسازی و نظارت مداوم بر توسعه برنامه است.

CI CD روند

یکپارچه سازی مداوم CI یا Continuous Integration چیست؟

در توسعه برنامه‌های مدرن، هدف این است که توسعه‌دهندگان به صورت چندگانه و همزمان بر روی ویژگی‌های مختلف یک برنامه کار کنند. در واقع اگر یک سازمان تصمیم بگیرد که تمامی کدهای زده شده توسط توسعه‌دهندگان را در یک روز ترکیب کند، اثر حاصله احتمالا خوب از آب در نخواهد آمد. و این موضوع به این دلیل است که وقتی یک توسعه‌دهنده به تنهایی کار کند، احتمالا برنامه‌ای که ایجاد می‌شود با سایر کدهای دیگر توسعه‌دهندگان در تعارض خواهد بود. یکپارچگی پیوسته یا همان ادغام مداوم (CI) به توسعه دهندگان کمک می‌کند که تغییرات کد خود را به طور مداوم بر روی شاخه اشتراکی ادغام (Merge) کنند. هنگامی که تغییرات یک توسعه دهنده در یک برنامه با تغییرات سایرین ادغام شود، سطوح مختلف برنامه که یکپارچه سازی شده‌اند، تست می‌شوند تا مطمئن شویم که این تغییرات برنامه را دچار خرابی نکرده است. اگر این تست‌ها تعارضی بین کد جدید و کد فعلی کشف کنند، CI می‌تواند به رفع این اشتباهات سرعت بخشد.

تحویل پیوسته CD یا Continuous Delivery چیست؟

پس از اتوماسیون ساخت (Build) و تست ادغام در CI، تحویل پیوسته انتشار کد تایید شده به مخزن یا ریپازیتوری را به صورت اتوماتیک انجام می‌دهد. بنابراین برای داشتن یک فرایند تحویل مداوم و موثر، اولین قدم این است که CI به خط توسعه (پایپلاین) شما اضافه شده باشد. هدف از CD داشتن کدهای برنامه ای است که همیشه برای استقرار در محیط عملیاتی آماده باشد. مراحل CD شامل اتوماسیون تست و اتوماسیون انتشار کد برنامه است،‌ به نحوی که تیم عملیاتی بتواند به طور سریع و آسان برنامه را در محیط عملیاتی پیاده سازی کند.

استقرار پیوسته CD یا Continuous Deployment چیست؟

مرحله نهایی یک پایپلاین CI/CD استقرار پیوسته است. بعد از تحویل پیوسته (که ادغام کد در مخزن را به طور خودکار انجام می‌دهد)  عمل می‌کند، استقرار مداوم انتشار کد در محیط عملیاتی را به صورت خودکار انجام می‌دهد. با توجه به اینکه هیچ عملیات دستی در این مرحله وجود ندارد، اتوماسیون تست در استقرار پیوسته اهمیت به سزایی دارد. در عمل، استقرار پیوسته به این معنی است که تغییرات توسعه دهنده در کد می تواند تنها در چند دقیقه در یک محیط عملیاتی ابری مستقر کند.

بهرین ابزارهای CI/CD کدام اند؟

یکی از بهترین ابزارهای متن باز برای اتوماسیون CI/CD جنکینز (Jenkins) است. پایپلاین تکتان (Tekton) هم یک فریم ورک معروف برای پلتفرم کوبرنتیس است که پیاده سازی CI CD برای کانتینرهای ابری فراهم می‌کند. البته در کنار موارد یاد شده، ابزارهای مدیریت شده CI CD هم وجود دارد که از میان آن ها می توان به ابزار CI/CD گیت لب (GitLab) اشاره کرد.

بطور کلی، اکثر ابزارهای دواپس (DevOps) بخشی از روند CI/CD هستند. این ابزارها، مانند انسیبل (Ansible)، پاپت (Puppet)، شف (Chef)، داکر (Docker) و کوبرنتیس (Kubernetes)، اگرچه الزاما ابزارهای CI/CD نیستند، اما در روند انجام CI CD به آن‌ها برخورد خواهید کرد.