2009-07-07 17 views
11

He configurado TeamCity en un cuadro de Linux (Ubuntu) y me gustaría usarlo para algunos de los proyectos de Python/Django.TeamCity para la integración continua de Python/Django

El problema es que realmente no veo qué hacer a continuación. Intenté buscar un agente de compilación específico de Python para TeamCity, pero sin mucho éxito.

¿Cómo puedo gestionar eso?

Respuesta

22

Ok, así que no hay manera de conseguir que funcione con la integración TeamCity adecuada:

Suponiendo que haya instalado TeamCity con al menos 1 agente de compilación disponibles

1) Configure el agente de compilación para ejecutar

manage.py test 

2) Descargar e instalar este plugin para TC http://pypi.python.org/pypi/teamcity-messages

3) Vas a tener que proporcionar su encargo corrector de prueba para el complemento en (2) para trabajar. Puede ser copia directa de run_tests de django.test.simple, con sólo una ligera modificación: reemplazar línea donde corredor de prueba se llama con TeamcityTestRunner, por lo que en restaurantes en vez de

def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): 
    ... 
    result = unittest.TextTestRunner(verbosity=verbosity).run(suite) 

uso esto:

def run_tests(test_labels, verbosity=1, interactive=True, extra_tests=[]): 
    ... 
    result = TeamcityTestRunner().run(suite) 

Vas a tener que colocar esa función en un archivo en su solución, y especifica una prueba de atención al cliente al corredor, el uso de propiedad de configuración de Django TEST_RUNNER así:

TEST_RUNNER = 'my_site.file_name_with_run_tests.run_tests' 

Hacer sur E hace referencia a todas las importaciones necesarias en las file_name_with_run_tests

puede probarlo mediante la ejecución de

./manage.py test 

desde la línea de comandos y darse cuenta de que la producción ha cambiado y ahora mensajes como

#teamcity.... 

que aparecen en las eso.

1

He agregado la función de solicitud al rastreador de problemas de TeamCity, para que admita todas las funciones de Python. Este es el enlace: http://youtrack.jetbrains.com/issue/TW-25141. Si está interesado, puede votar por él, y eso puede obligar a JetBrains a mejorar el soporte de Python.

Cuestiones relacionadas