Al realizar una implementación continua con Git, ¿cómo maneja los archivos ignorados en gitignore? Esos archivos se ignoran por razones de privacidad (es decir, no quieren que se envíen a otros repositorios remotos, como GitHub), pero con esos archivos ignorados que no se envían al repositorio de implementación continua, su aplicación no se ejecutará (ya que los archivos ignorados son requerido para que el software funcione correctamente).
¿Cómo suelen hacer esto las personas? En este caso, ¿Git no es el mejor candidato para la implementación continua debido a los archivos ignorados?
version-control
usuario3175663
fuente
fuente
Respuestas:
Si su software no se ejecuta sin esos archivos, tendrá un problema con cualquier tipo de implementación, manual, automática o continua, con cualquier tipo de VCS, o incluso sin ningún VCS. Entonces, cambie su software para que pueda ejecutarse realmente sin esos archivos (por ejemplo, podría asumir algún tipo de "parámetros predeterminados" si faltan los archivos), o proporcione alguna versión de esos archivos adecuada para la implementación que se copian ( como parte del paso de implementación) al entorno de destino en caso de que no exista una versión "privada" de esos archivos.
Si está hablando de algo como un archivo que contiene credenciales de base de datos para iniciar sesión en el servidor, que, por razones de seguridad, no desea tener el control de versiones, entonces tendrá que poner ese archivo en el entorno de implementación una vez , probablemente manualmente , por una persona que tenga suficientes derechos o conozca la contraseña. Pero eso es intencional y no debería impedir que implemente nuevas versiones diarias de su software. Solo asegúrese de que no se sobrescriban los archivos de credenciales en su lugar cuando implemente una nueva versión.
fuente
Otra opción es almacenar la información confidencial dentro de su herramienta de implementación. Y la configuración de la herramienta de implementación en un repositorio de origen privado separado.
Dejar los datos confidenciales en la máquina de destino funciona, pero podría descomponerse: alguien lo cambia sin seguir los procedimientos, la máquina frena y nadie recuerda la configuración correcta, etc.
Saltstack, por ejemplo, tiene https://docs.saltstack.com/en/latest/topics/pillar/index.html
fuente