t.me/atinfo_chat Telegram группа по автоматизации тестирования

Активация virtualenv при запуске на Jenkins

Теги: #<Tag:0x00007f74878f1e18> #<Tag:0x00007f74878f1d50> #<Tag:0x00007f74878f1c88> #<Tag:0x00007f74878f1b98>

Как правильно активировать virtualenv при запуске на Jenkins
Я у себя прописывал так source config/bin/activate (source папка с виртуальным окружением)- локально все отлично запускалось, а вот на сервере появляется ошибка:
[Allure_first_test_configuration] $ /bin/sh /tmp/jenkins3439735503009578215.sh
/tmp/jenkins3439735503009578215.sh: 2: /tmp/jenkins3439735503009578215.sh: source: not found

Вы папку с virtualenv пушите в репу и потом используете при подтягивании в дженкинс или как?

virtualenv лежит в том же репозитории что и тесты

в дженкинсе перейди в папку с выкаченной репой и в ней запустите virtualenv

Странно, получил ошибку :
File “/usr/lib/python2.7/runpy.py”, line 174, in _run_module_as_main
main”, fname, loader, pkg_name)
File “/usr/lib/python2.7/runpy.py”, line 72, in _run_code
exec code in run_globals
File “/usr/local/lib/python2.7/dist-packages/pytest.py”, line 73, in
raise SystemExit(pytest.main())
File “/usr/local/lib/python2.7/dist-packages/_pytest/config.py”, line 49, in main
config = _prepareconfig(args, plugins)
File “/usr/local/lib/python2.7/dist-packages/_pytest/config.py”, line 164, in _prepareconfig
pluginmanager=pluginmanager, args=args)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 745, in call
return self._hookexec(self, self._nonwrappers + self._wrappers, kwargs)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 339, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 334, in
_MultiCall(methods, kwargs, hook.spec_opts).execute()
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 613, in execute
return _wrapped_call(hook_impl.function(*args), self.execute)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 250, in _wrapped_call
wrap_controller.send(call_outcome)
File “/usr/local/lib/python2.7/dist-packages/_pytest/helpconfig.py”, line 67, in pytest_cmdline_parse
config = outcome.get_result()
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 280, in get_result
_reraise(*ex) # noqa
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 265, in init
self.result = func()
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 614, in execute
res = hook_impl.function(*args)
File “/usr/local/lib/python2.7/dist-packages/_pytest/config.py”, line 934, in pytest_cmdline_parse
self.parse(args)
File “/usr/local/lib/python2.7/dist-packages/_pytest/config.py”, line 1106, in parse
self._preparse(args, addopts=addopts)
File “/usr/local/lib/python2.7/dist-packages/_pytest/config.py”, line 1068, in _preparse
self.pluginmanager.load_setuptools_entrypoints(‘pytest11’)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 516, in load_setuptools_entrypoints
self.register(plugin, name=ep.name)
File “/usr/local/lib/python2.7/dist-packages/_pytest/config.py”, line 258, in register
ret = super(PytestPluginManager, self).register(plugin, name)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 371, in register
hook._maybe_apply_history(hookimpl)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 768, in _maybe_apply_history
res = self._hookexec(self, [method], kwargs)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 339, in _hookexec
return self._inner_hookexec(hook, methods, kwargs)
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 334, in
_MultiCall(methods, kwargs, hook.spec_opts).execute()
File “/usr/local/lib/python2.7/dist-packages/_pytest/vendored_packages/pluggy.py”, line 614, in execute
res = hook_impl.function(*args)
File “/usr/local/lib/python2.7/dist-packages/allure_pytest/plugin.py”, line 20, in pytest_addoption
help=“Generate Allure report in the specified directory (may not exist)”)
File “/usr/local/lib/python2.7/dist-packages/_pytest/config.py”, line 756, in addoption
raise ValueError(“option names %s already added” % conflict)
ValueError: option names set([’–alluredir’]) already added

ошибку после ЧЕГО?

Активировал, все нормально. Но при запуске тестов выдало такое

может определена где то пару раз

Вряд ли, данным вызовом я генерирую отчет для Allure.
Меня больше волнует почему при активации виртуального окружения ничего не происходит, а в консоле выдает :

  • source config/bin/activate
    /tmp/jenkins324690781512256269.sh: 2: /tmp/jenkins324690781512256269.sh: source: not found
    Build step ‘Execute shell’ marked build as failure

по поводу алюр https://github.com/allure-framework/allure-python/issues/108
это на счет активации:
#!/bin/bash
source config...........

Видел эту статью, не помогло (
Ошибка виртуального окружения прошла, на с аллюром все так и осталось (

обновить плагин алюра на дженкинсе как вариант