اجرای TestRail در کانتینرهای Docker #
لطفاً نگاهی به Readme در مخزن Github بیندازید.
از TestRail استفاده می کند docker-compose برای اجرای خدمات فردی لازم و پیوند دادن کانتینرها به یکدیگر.
برای شروع یا توقف TestRail، این دو دستور کار را انجام می دهند. آنها را در پوشه ریشه مخزن اجرا کنید:
docker-compose up
docker-compose down
برای شروع کانتینرها در حالت جدا، کافی است یک پارامتر -d اضافه کنید: docker-compose up -d
فایلهای docker-compose حاوی تعدادی متغیر با مقادیر پیشفرض از پیش تعیینشده هستند. برای تخصیص مقادیر سفارشی برای این متغیرها، یک فایل .env ایجاد کنید (همانطور که در آن توضیح داده شده است مستندات فایل docker env – این یک فایل متنی ساده با نحو VAR=VALUE است.
در غیر این صورت، امکان ارائه متغیرهای env از طریق خط فرمان مانند صادرات نیز وجود دارد HTTP_PORT=8008 && docker-compose up -d.
سایت linuxhit.com نمای کلی خوبی از نحوه استفاده از متغیرهای env در bash ارائه می دهد.
انتقال از نصب سرور TestRail موجود به کانتینرها #
استفاده از پایگاه داده در کانتینرها #
اگر یک DB اختصاصی را فقط برای TestRail اجرا کرده اید، منطقی است که DB را در یک کانتینر نیز اجرا کنید. برای ارتقاء مراحل زیر را دنبال کنید:
-
قبل از مهاجرت، امتیازات کاربر mysql را بررسی کنید. اگر کاربری با ‘@localhost’ ایجاد شده است (محدود کردن دسترسی به “فقط از localhost”)، باید یک کاربر جدید با حق کافی برای اجازه اتصال از راه دور ایجاد کنید:
- دسترسی به DB با
mysql -pو لیست همه کاربران + میزبان:SELECT user, host FROM mysql.user; - اگر کاربر TestRail دارای «localhost» یا مقداری IP در ستون «میزبان» (و نه «%») باشد، یک کاربر جدید باید ایجاد شود – CREATE USER ‘testraildocker’@’%’ IDENTIFIED by ‘new password’. – >
GRANT ALL ON testrail.* TO 'testraildocker'@'%';
(% اجازه اتصال از راه دور از هر IP را می دهد. اگر زیرشبکه docker خود را می شناسید – معمولاً ۱۷۲.۱۶.۲۵۵.۲۵۵ – از زیر شبکه docker داخلی مربوطه به جای “%” برای تقویت امنیت استفاده کنید.)
- دسترسی به DB با
- کل مطالب را کپی کنید
/var/lib/mysqlبه_mysqlپوشه وconfig.phpفایل به_config. - اگر میخواهید پیوستها، گزارشها، گزارشها و گزارشهای حسابرسی را نگه دارید، پوشهها را ایجاد کنید
logs, audit, reports, attachmentsدر_optپوشه و محتوا را از محل قدیمی به پوشه های ایجاد شده جدید کپی کنید. -
را ویرایش کنید
config.phpفایل و «DB_HOSTNAME» را به تغییر دهیدdb:3306. همچنین، LOG_PATH و AUDIT_PATH را به:define('LOG_PATH', '/opt/testrail/logs/'); define('AUDIT_PATH', '/opt/testrail/audit/'); - اگر می خواهید از یک پورت خاص برای دسترسی به TestRail استفاده کنید، یک فایل env. (در اینجا بیشتر) ایجاد کنید و پورت را از طریق آن مشخص کنید.
HTTP_PORT=<portNumber> - اجرا کنید
docker-compose up -d
همین – تمام شدی!
#
همچنین مسیرها را برای پیوست ها و گزارش می دهد زیر TestRail > اداره > تنظیمات سایت به: /opt/testrail/attachments و /opt/testrail/reports
استفاده از پایگاه داده خارجی #
اگر از یک خارجی سرور پایگاه داده، سرور DB را همانطور که هست رها کنید و مراحل زیر را دنبال کنید:
- را کپی کنید
config.phpفایل به_config. - اگر میخواهید پیوستها، گزارشها، گزارشها و گزارشهای حسابرسی را نگه دارید، پوشهها را ایجاد کنید
logs،audit،reports، وattachmentsدر_opt folder، و محتوا را از مکان قدیمی در پوشه های ایجاد شده جدید کپی کنید. -
LOG_PATH و AUDIT_PATH را در فایل config.php ویرایش کنید:
define('LOG_PATH', '/opt/testrail/logs/'); define('AUDIT_PATH', '/opt/testrail/audit/'); - اگر میخواهید از یک پورت خاص برای دسترسی به TestRail استفاده کنید، یک فایل env. (در اینجا بیشتر) ایجاد کنید و پورت را از طریق HTTP_PORT= مشخص کنید.<شماره پورت>
- اجرا کنید
docker-compose up -d
همین – تمام شدی!
#
همچنین مسیرها را برای پیوست ها و گزارش می دهد زیر TestRail>اداره>تنظیمات سایت به: /opt/testrail/attachments و /opt/testrail/reports
اگر قبلاً از کانتینرها استفاده می کنید، TestRail را ارتقا دهید #
گزینه ۱: «n» سریع کثیف #
به سادگی از اسکریپت ارتقاء استفاده کنید: upgradeTestRail.sh
اگر پیکربندی پیشفرض ایجاد شده توسط اسکریپت شروع سریع باقی بماند، TestRail را ارتقا میدهد. اگر از مکانهای سفارشی برای فایلهای DB و غیره استفاده میکنید، از گزینه ۲ در زیر استفاده کنید.
گزینه ۲: انجام ارتقاء مرحله به مرحله #
برای ارتقا TestRail از یک نسخه قدیمی به یک نسخه جدیدتر (به عنوان مثال ۶.۰.۰ به ۶.۰.۱)، مراحل زیر را انجام دهید:
- ظروف را ببندید:
docker-compose down -v - (اختیاری) اگر نسخه اختصاصی TestRail را به عنوان مثال مشخص کرده اید. الف
.envفایل – نسخه ای را که می خواهید به آن ارتقا دهید تنظیم کنید. - تصاویر را بکشید:
docker-compose pull - توصیه می شود: ایجاد نسخه پشتیبان (به زیر مراجعه کنید)
- TestRail را راه اندازی کنید
docker-compose up -d
مهم است #
یک نسخه پشتیبان از پوشه های حاوی پایگاه داده و پوشه ای که شامل گزارش ها، گزارش ها، پیوست ها و ممیزی ها است، ایجاد کنید. به طور پیش فرض، این پوشه ها هستند _mysql و _opt در دایرکتوری محلی همچنین یک کپی از آن ایجاد کنید config.php فایل های واقع در _config.
همچنین می توانید با کپی کردن این سه پوشه در یک مکان جدید و سپس اجرا، یک ارتقای “ایمن” انجام دهید docker-compose.
موضوعات پیشرفته #
آپاچی در مقابل nginx و MySQL در مقابل MariaDB #
TestRail در حال حاضر به طور رسمی از Apache + MySQL پشتیبانی می کند. با خیال راحت nginx و mariadb را امتحان کنید – با این حال، لطفاً توجه داشته باشید که این به طور رسمی پشتیبانی نمیشود. اگر مشکلی در این دو سیستم پیدا کردید، لطفاً به ما اطلاع دهید تا بتوانیم در آینده به پشتیبانی بالقوه nginx/mariadb نزدیک شویم.
ایجاد پشتیبان #
همه ظروف بدون حالت هستند، بنابراین می توان آنها را با خیال راحت خارج کرد. داده های مربوطه در حجم های محلی ذخیره می شوند: به طور پیش فرض در _config، _mysql، و _opt. فقط یک نسخه پشتیبان از این پوشه ها ایجاد کنید.
متغیرهای محیطی #
- TESTRAIL_VERSION
- OPT_PATH
- CONFIG_PATH
- MYSQL_PATH
- HTTP_PORT
- DB_PORT
- DB_URL
- DB_USER
- DB_PWD
- DB_NAME
- DB_ROOT_PWD
- TR_DEFAULT_TASK_EXECUTION
خودتان تصاویر را بسازید #
همچنین امکان ساخت تصاویر Docker توسط خودتان وجود دارد. همه Dockerfiles را می توان در آن یافت این پوشه. دستورالعمل های ساخت در زیر پوشه های مربوطه می باشد.
#
اگر از ۷.۰ به ۷.۴ یا بالاتر ارتقا می دهید، باید اسکریپت مهاجرت را همانطور که در اینجا مستند شده است اجرا کنید: ارتقاء TestRail. دنباله ارتقاء توصیه شده به شرح زیر است:
-
Cassandra را نصب و پیکربندی کنید
-
TestRail را نصب یا ارتقا دهید
-
اسکریپت مهاجرت ۷.۰ یا قبلی به ۷.۴ و بالاتر را اجرا کنید

