GAE на сервере Linux CI

Ребята, мы пытаемся настроить среду тестирования CI для тестирования нашего приложения GAE. Наш CI-сервер работает на Linux и Jenkins. Локальные носовые тесты и носовые ружья работают фантастически; однако на сервере CI, поскольку установщиков как таковых нет, модули python GAE не «зарегистрированы» и не могут быть найдены носом или python в этом отношении. Любые советы, как заставить эту настройку работать?


person rdodev    schedule 12.12.2012    source источник
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
comment
Это звучит довольно сложно, по крайней мере, по сравнению с тем, насколько это просто для OSX и Windows. - person rdodev; 12.12.2012
comment
Вы ранее запускали Jenkins CI в Windows и OSX? - person Jasper van den Bosch; 12.12.2012
comment
В любом случае, большая часть этого гарантирует, что каждый раз, когда вы запускаете задание Jenkins, оно будет выполнять чистую установку вашего приложения, предотвращая проблемы с развертыванием из-за оставшихся файлов. Всегда полезно знать, от каких пакетов зависит ваше приложение. - person Jasper van den Bosch; 12.12.2012