amazon ec2 - start - Combinando travis y ec2
start ec2 instance from command line (2)
Tengo un proyecto github que usa travis para una integración continua. Me gustaría implementar mi proyecto en Amazon ec2. Para simplificar la implementación, me gustaría que el sistema desplegado tenga la misma configuración que el sistema de prueba. es posible?
AFAICT, esto requiere dos cosas: en primer lugar, una instancia preconfigurada ec2 que coincida con la configuración utilizada por travis. ¿Existe uno? Y segundo, una forma de ejecutar scripts travis.yml
desde la línea de comando. ¿Cómo puedo hacer eso?
En cuanto a la ejecución de scripts .travis.yml
desde la línea de comandos, si yo fuera tú, en cambio, lo tomaría al revés y reemplazaría su script .travis.yml
por algo como esto:
language: bleh
etc etc...
install:
- ./travis-scripts/install.sh
before_script:
- ./travis-scripts/before_script.sh
script:
- ./travis-scripts/script.sh
Por supuesto, igual tendrá que escribir un script para instalar cualquier versión de idioma, plugins de Travis, etc. que necesite en su instancia de Amazon EC2.
En cuanto a una instancia de Amazon EC2 que coincide con las máquinas virtuales de Travis, no lo sé porque no estoy tan familiarizado con Amazon AWS, pero puedo decirle que las máquinas virtuales de Travis se basan en Ubuntu 12.04, y hay muchas más soluciones específicas. información en la página sobre The Build Environment .
Entonces, ¿quiere algo en una instancia de EC2 que pueda leer su archivo .travis.yml y configurarlo de la misma manera que travis cuando lo prueba?
Creo que es una posibilidad bastante remota para un problema relativamente simple como este. Travis es una plataforma de integración y prueba que usa muchos otros sistemas (como chef y docker) para hacer lo que hace con los archivos .yml. Usar este sistema para ejecutar una sola aplicación suena un poco exagerado.
Recomendaría usar chef (o una marioneta similar) para configurar su entorno de producción y desplegar su aplicación.
Puede tener una receta de chef que configure el entorno de producción (bases de datos, archivos de configuración, material de instalación, etc.) y otra que implemente, configure e inicie su aplicación. Cuando desee realizar cambios en el entorno de producción, realice cambios en estos archivos. Se pueden combinar fácilmente con el proyecto.