يمكن لمهمة CI تمرير بيئة الوكيل الخاصة بها إلى tox دون تعديل ملف tox.ini المستخرج. لإعدادات INI في tox 4:

tox --override 'testenv.pass_env+=HTTP_PROXY,HTTPS_PROXY,NO_PROXY' -e py

صيغة += تضيف إلى قائمة pass_env الموجودة، بينما علامة = العادية تستبدل تلك القائمة المضبوطة. يجب أن تكون المتغيرات موجودة أصلًا في البيئة التي تُشغّل tox؛ فالتجاوز يوفّر الأسماء لا قيم الوكيل.

المدخل البيئي المؤقت المقابل هو:

TOX_OVERRIDE='testenv.pass_env+=HTTP_PROXY,HTTPS_PROXY,NO_PROXY' tox -e py

تستخدم هذه الأمثلة اقتباس POSIX shell. يتعامل tox مع أسماء pass_env دون تمييز بين الحروف الكبيرة والصغيرة، لذا تطابق الأسماء المختارة أيضًا الصيغ الصغيرة.

في إعدادات TOML الأصلية لـ tox، جدول بيئة التشغيل الأساسي هو env_run_base وليس testenv. استخدم المسار المطابق لصيغة الإعدادات الفعلية.

هذا يضبط بيئات تشغيل الاختبارات. وقد تحتاج بيئة تحزيم منفصلة إلى سياسة تمرير خاصة بها. وبالمثل، قارن المدخلات الفعلية للمنزّل؛ فالعملاء لا يزالون يقررون ما إذا كانوا سيلتزمون بالمتغيرات التي يتلقونها. تجاوز تشغيل واحد يمنع ترك إعادة كتابة خاصة بـ CI في المستودع، لكنه لا يستبدل سياسة المشروع المقصودة عندما يحتاج كل تشغيل إلى المسار.

مقالات ذات صلة