Google Cloud Construir - cómo hacer un build/implementar a base avanzada con un estado de contenedor que "detiene" a 0 (como en la nube de ejecución)

Tenemos la mayoría, pero no todos los de nuestra generación artefactos en un repositorio Git (Bitbucket).

Nuestra generación actual se parece a esto, y lleva más de 30 minutos para crear/implementar para Firebase, nos gustaría reducir el tiempo para construir.

No estamos utilizando Google Cloud Construir en el momento, pero antes de ir por ese camino, quiero saber si esto sería fructífera.

Tenemos todo el código a clonar el repositorio git (Bitbucket), a una CME VM.

Y, a continuación, 1 TB de datos estáticos a continuación, se copia en un directorio en el repositorio git de la zona, los artefactos que son necesarios para la implementación.

No queremos comprobar en que 1 tb de datos en el repositorio git, es de una 3ª parte, rara vez se actualiza, y sería demasiado pesada de un directorio a tirar en los entornos de desarrolladores en su IDE, es inútil hacerlo.

En el lanzamiento de un script de creación de la CME VM para generar el código, y desplegar a Firebase (script de bash), se tarda unos 30 minutos.

Queremos que la construye para ir más rápido, y el posible uso de la nube de construir.

Con esto:

  1. un repositorio git
  2. los archivos externos que deben permanecer en un estado de contenedor, no se copia más cada vez, debido a que el tiempo que tardaría

¿cómo podemos crear un estado de contenedor que sólo requieren de un git actualización (pull origin master), y luego a disparar una serie de construir o implementar a base avanzada?

Queremos evitar el tráfico de entrada a la base avanzada de implementar el uso externo de la creación de servicios donde el de 1 tb de datos que sigue siendo el mismo cada vez que se envía a la base avanzada, en la que sería la factura.

Nube de Ejecutar los contenedores no son de estado. La CME VM son de estado, pero se requiere que los mantengamos y va 24x7x365, por lo que cualquier desarrollador cualquier lugar, puede ejecutar una generación, y que puede tomar sólo 30 minutos de cualquier día, y no sabemos cuando será, así que dejando 24x7x365 es sobre todo un desperdicio.

Queremos evitar la construcción de un estado del contenedor donde se comprueba el código desde cero cada vez, un git pull origin master va a hacer, y tiene que copiar el de 1 tb de artefactos en el recipiente cada vez que toma tiempo.

Sólo queremos hacer:

  1. git pull origin master
  2. Fuego fuera de la construcción como el siguiente paso en la secuencia de comandos
  3. reducir la velocidad de giro del contenedor, tiene que guardar su estado para el próximo construir, minimizando el tiempo, y cada vez, el ahorro de la anterior 'git pull origin master' actualizado artefactos, y la preservación de la 1TB archivos se copian en el contenedor.

La situación ideal sería disponer de un contenedor que es el estado, que gira hacia abajo cuando no esté en uso, y "giros", o es activo para el uso al que tenemos que construir.

Conservar el anterior git actualización (git pull origin master), y conservará todos los artefactos fuera del repositorio git que debemos copiar. También tenemos acceso shell al contenedor (ssh, scp) etc.

Con un estado de 'Cloud Ejecutar' opción sería ideal, pero no sé de una cosa (el estado de los contenedores con BPC que podemos ejecutar y sólo se cobrará por el tiempo de ejecución/tiempo de cálculo)

+1
2019-09-17 08:22:11
fuente
0 respuestas

Vea otras preguntas sobre etiquetas