Джанго и Дженкинс несколько ошибок в оболочке выполнения - PullRequest
0 голосов
/ 05 июля 2018

Я пытаюсь реализовать непрерывную интеграцию для приложения python-django. Я установил Jenkins на VPS и создал работу, которая извлекает мой битовый код.

Теперь я пытаюсь выполнить тесты из каталога тестов, но что-то не так в моей оболочке выполнения в Jenkins.

Вот вывод консоли оболочки:

    7 - Link the cms_core app in the project using a symbolic link

/var/lib/jenkins/workspace/ed1cms/test_cms_core
total 16
drwxr-xr-x 3 jenkins jenkins 4096 Jul  5 16:12 .
drwxr-xr-x 5 jenkins jenkins 4096 Jul  5 16:12 ..
lrwxrwxrwx 1 jenkins jenkins   16 Jul  5 16:12 cms_core -> ../core/cms_core
-rwxr-xr-x 1 jenkins jenkins  811 Jul  5 16:12 manage.py
drwxr-xr-x 2 jenkins jenkins 4096 Jul  5 16:12 test_cms_core
/tmp/jenkins7283490794872735254.sh: line 28: prinf: command not found
Collecting cms_core
  Could not find a version that satisfies the requirement cms_core (from versions: )
No matching distribution found for cms_core


8 - Finally, we can run the tests through django-jenkins

Traceback (most recent call last):
  File "./manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/var/lib/jenkins/.virtualenvs/tmp-8ca50c09c788e0c/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "/var/lib/jenkins/.virtualenvs/tmp-8ca50c09c788e0c/lib/python3.6/site-packages/django/core/management/__init__.py", line 307, in execute
    settings.INSTALLED_APPS
  File "/var/lib/jenkins/.virtualenvs/tmp-8ca50c09c788e0c/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
    self._setup(name)
  File "/var/lib/jenkins/.virtualenvs/tmp-8ca50c09c788e0c/lib/python3.6/site-packages/django/conf/__init__.py", line 41, in _setup
    self._wrapped = Settings(settings_module)
  File "/var/lib/jenkins/.virtualenvs/tmp-8ca50c09c788e0c/lib/python3.6/site-packages/django/conf/__init__.py", line 110, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/var/lib/jenkins/.virtualenvs/tmp-8ca50c09c788e0c/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'cms_core'


9 - Deactivate virtualenv so it is destroyed

Removing temporary environment: tmp-8ca50c09c788e0c
Removing tmp-8ca50c09c788e0c...
Finished: SUCCESS

7,8,9 - это шаги, которые я написал в оболочке с помощью printf, чтобы я мог следить за тем, что происходит, шаг за шагом. До шага 7 ошибок не происходит.

Вот мой скрипт исполняемой оболочки:

    #!/bin/bash

printf "\n\n1 - Set-up some things so we can use virtualenvwrapper\n\n"
source ~/.bash_profile

printf "\n\n2 - Create a temporary virtual environment for Python\n\n"
mktmpenv -p /opt/python-versions/3.6.3/bin/python3

printf "\n\n3 - We need to go back to the path we initially were, not in the virtual env path\n\n"
cd -

printf "\n\n4 - Install requirements to be able to create a Django project and run tests\n\n"
pip install -r cms_core/tests/requirements.txt

printf "\n\n5 - Create the Django project\n\n"
rm -rf test_cms_core
django-admin startproject test_cms_core

printf "\n\n6 - Go in the project folder\n\n"
cd test_cms_core

printf "\n\n7 - Link the cms_core app in the project using a symbolic link\n\n"
ln -s ../core/cms_core .

pwd
ls -la

printf "\n\n8 - Finally, we can run the tests through django-jenkins\n\n"
./manage.py jenkins --settings=cms_core.tests.settings

printf "\n\n9 - Deactivate virtualenv so it is destroyed\n\n"
deactivate

1 Ответ

0 голосов
/ 05 июля 2018
  1. Кажется, в вашем коде есть опечатка. Просто найдите «prinf», возможно, отсутствует t .
  2. Ваш модуль cms_core не установлен или не может быть найден. Может быть, вы просто не в той папке, чтобы использовать ваши настройки для Django? Или проверьте ваш virtualenv с помощью списка пунктов, если все требования установлены правильно.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...