Ребята, мы пытаемся настроить среду тестирования CI для тестирования нашего приложения GAE. Наш CI-сервер работает на Linux и Jenkins. Локальные носовые тесты и носовые ружья работают фантастически; однако на сервере CI, поскольку установщиков как таковых нет, модули python GAE не «зарегистрированы» и не могут быть найдены носом или python в этом отношении. Любые советы, как заставить эту настройку работать?
GAE на сервере Linux CI
comment
Что вы имеете в виду под установщиками? Используете ли вы сервер разработки или просто выполняете модульное тестирование кода Python?
- person Jasper van den Bosch   schedule 12.12.2012
comment
модульное тестирование кода Python AppEngine.
- person rdodev   schedule 12.12.2012
Ответы (1)
Если вы говорите о модульных тестах, напишите файл setup.py для вашего приложения с перечислением необходимых пакетов.
#!/usr/bin/env python
from distutils.core import setup
setup(name='myapp',
version='1.0',
description='This is a cool webapp by Syrahn.',
author='Syrahn',
requires=['googleappengine','nosetests',], #etc
)
Затем, в качестве шага вашей работы Jenkins, настройте виртуальную среду, создайте и установите свое приложение в виртуальную среду. Это также установит необходимые библиотеки, например:
virtualenv myenv
myenv/bin/python setup.py sdist
myenv/bin/pip install mypackage.tar.gz
.. после этого вы можете запустить юнит-тесты:
myenv/bin/nosetests
person
Jasper van den Bosch
schedule
12.12.2012
Это звучит довольно сложно, по крайней мере, по сравнению с тем, насколько это просто для OSX и Windows.
- person rdodev; 12.12.2012
Вы ранее запускали Jenkins CI в Windows и OSX?
- person Jasper van den Bosch; 12.12.2012
В любом случае, большая часть этого гарантирует, что каждый раз, когда вы запускаете задание Jenkins, оно будет выполнять чистую установку вашего приложения, предотвращая проблемы с развертыванием из-за оставшихся файлов. Всегда полезно знать, от каких пакетов зависит ваше приложение.
- person Jasper van den Bosch; 12.12.2012