TestRail را می توان از طریق کانتینرهای Docker نصب کرد و راه اندازی و اجرا با TestRail را بسیار آسان تر می کند. این شامل تمام وابستگی ها و فایل های مورد نیاز برای TestRail می شود تا زمان نصب را به حداقل برسانید.
بسته Docker را با درخواست آن در اینجا دریافت کنید: فرم درخواست نصب Docker ۸.۰.۱.۱۰۲۹ TestRail
الزامات #
-
Docker را نصب کنید + Docker-compose (در لینوکس، با استفاده از
pipتوصیه می شود) -
برخی درک اولیه از docker (مثلاً دانستن اینکه کانتینرها، تصاویر، حالت جدا شده و … چیست) → به رسمی مراجعه کنید مستندات Docker “شروع به کار”.
-
اختیاری: اگر از
quickstart.shاسکریپت، همچنین نصب کنیدsudoوip(معمولاً در اکثر سیستم ها از قبل نصب شده است)
شروع سریع با اسکریپت #
این مراحل را دنبال کنید:
- اجرا کنید
quickstart.sh - دو رمز عبور را وارد کنید – یکی برای کاربر پایگاه داده “عادی” و دیگری برای root
- چند لحظه صبر کنید – TestRail دانلود و راه اندازی می شود
TestRail باید از طریق URL زیر قابل دسترسی باشد: http://localhost:۸۰۰۰
نصب را از طریق رابط کاربری وب به پایان برسانید (از مقادیر چاپ شده توسط نصب کننده در پایان استفاده کنید).
#
شما باید یک Cassandra Keyspace به عنوان بخشی از نصب ایجاد کنید. یک پوسته در ظرف Cassandra باز کنید و از دستورات زیر استفاده کنید:
cqlsh <host> -u <user> -p <password>
شما باید خروجی زیر را دریافت کنید:
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.9 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
با اجرای پرس و جو CQL زیر، فضای کلید را ایجاد کنید:
CREATE KEYSPACE IF NOT EXISTS tr_keyspace WITH REPLICATION={'class': 'SimpleStrategy', 'replication_factor': 1};
اجرای TestRail با استفاده از docker-compose #
فایل نوشتن از طریق متغیرهای محیطی پیکربندی می شود – پیشنهاد می شود از یک فایل env. استفاده کنید. اطلاعات بیشتر در مورد یک فایل env در دسترس است مستندات فایل های Docker env.
- ابتدا یک فایل .env با حداقل متغیرهای اجباری برای:
- DB_USER
- DB_NAME
- DB_PWD
- DB_ROOT_PWD
- بعد، اجرا کنید
docker-compose up(در اولین بار چند دقیقه طول می کشد). - TestRail باید بالا باشد! دسترسی به آن از طریق: http://localhost:۸۰۰۰
- هنگامی که نصب کننده TestRail تنظیمات پایگاه داده را می خواهد، مقادیری را که در فایل .env مشخص کرده اید، دوباره وارد کنید.
- برای حذف نمونه، فشار دهید Ctrl+C و سپس اجرا کنید
docker-compose down.
متغیرهای محیطی #
پیشنهاد می شود یک فایل .env محلی ایجاد کنید تا متغیرهای خاص کاربر یا ماشین را مشخص کنید (برای اطلاعات بیشتر، به مستندات فایل های Docker env). نحو ساده است: به عنوان مثال. “HTTP_PORT=۸۰۰۰”
متغیرهای محیطی را نیز می توان مستقیماً در پوسته با همان نحو تنظیم کرد و سپس از آن استفاده کرد docker-compose.
- DB_PORT
- HTTP_PORT
- HTTPS_PORT
- DB_URL (به عنوان مثال http://internal.yourcompany.com/۵.۷.sql)
پایگاه های داده از پیش پر شده و Config.php TestRail #
از طریق DB_URL variable، همچنین امکان ارائه SQL-dump برای دانلود توسط کانتینر وجود دارد، بنابراین TestRail از قبل پیکربندی شده است. برای عملکرد مناسب، config.php فایل باید ارائه شود به سادگی آن را در قسمت کپی کنید _config پوشه اطمینان حاصل کنید که مقادیر موجود در config.php فایل مطابق با تنظیمات پایگاه داده برای کاربر و رمز عبور است که در فایل نوشتن برای db مشخص شده است.
استفاده از فایل های Compose #
استفاده عمومی #
docker-compose up
docker-compose down
استدلال up ظرف را شروع می کند. در حالی که down همه چیز را متوقف می کند را docker-compose مرجع CLI را می توان یافت اینجا.
گزینه های مفید اضافی: #
| گزینه | توضیحات |
|---|---|
-v (حذف جلدهای نامگذاری شده) |
این برای حذف حجم های موقت پس از خاموش شدن مهم است و توصیه می شود از آن استفاده کنید. اگر حجم ها نباید پاک شوند، از این پارامتر استفاده نکنید. با این حال، توجه داشته باشید که این ممکن است هنوز هم عوارض جانبی ایجاد کند. |
-f (پرونده) |
می توان از آن برای تعیین یک فایل نوشتن متفاوت استفاده کرد (به طور پیش فرض docker-compose.yml استفاده می شود) |
-p (پروژه) |
اگر چندین نمونه TestRail باید شروع شود، ضروری است. در غیر این صورت، docker-compose با یک کانتینر در حال اجرا تعامل خواهد داشت. |
نام پوشه docker-compose در شروع شده است (در این مورد، ‘internal-docker’) به عنوان نام پروژه استفاده می شود و به همه کانتینرهای تولید شده اضافه می شود.
توصیه: استفاده کنید docker-compose down -v، همانطور که جلدهای نامگذاری شده و ناشناس را حذف می کند!
نکات کلی در مورد فایل های نوشتن #
- همه فایل های نوشتن به حجم های اضافی متکی هستند:
-
testrail_rootشامل نصب و نصب می شود/var/www/testrail -
testrail_optحاوی فایل های آپلود شده و غیره است و روی آن نصب می شود/opt/testrail -
testrail_dbشامل پایگاه داده و نصب می شود/var/lib/mysql. -
testrail_configحاوی فایل config.php است که TestRail را پیکربندی می کند و روی آن نصب می شود/var/www/testrail/config
کانتینرها هر چند به هم متصل هستند testrail شبکه پل شده ترتیب شروع مهم است – php باید اول باشد و سپس وب سرور و DB.
مهاجرت کردن & ارتقاء TestRail #
اجرای 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 را نصب یا ارتقا دهید
-
اسکریپت مهاجرت را اجرا کنید

