¿Cómo gestionan varios desarrolladores el libro de cocina de un solo chef?

¿Cómo gestionan varios desarrolladores el libro de cocina de un solo chef?

He creado un libro de cocina y lo estoy utilizando manage.chef.iopara alojarlo e implementarlo. He alojado el libro de cocina en un repositorio privado de GitHub.

Considere un escenario:
si hago algunos cambios en el libro de cocina y knife cookbook uploadéste, peroolvidate de empujara Github.

¿Cómo me aseguro de que no suceda? Ni siquiera por error. ¿Cómo me aseguro de que en cualquier momento todos tengan el repositorio más reciente y no puedan knife uploadhacerlo de otra manera? Al igual que usted no puede hacerlo git pushsi no ha git pullrealizado los cambios.

Mi colega utiliza GitHub pero no ve ningún cambio. Así él hace sus propios cambios y knife cookbook uploadlo. Pero reemplazará mis cambios ya que tiene una versión anterior.

Entonces, ¿cuál es la mejor práctica para gestionar un libro de recetas entre varios DevOps?

Respuesta1

El enfoque más simple generalmente es hacer que el envío al Chef Server esté bajo el control de su servicio de CI como Jenkins. Eso obliga a la serialización en torno al control de fuente, ya que ningún ser humano tiene permisos para ejecutar cargas de libros de cocina. También puedes asegurarte de comunicarte lo suficiente para evitar esto, pero eso es mucho más propenso a errores. Algunos flujos de trabajo de Chef en torno a archivos de políticas no tienen este problema al no utilizar cargas de libros de cocina normales.

información relacionada