Skip to content

Instantly share code, notes, and snippets.

@danielpardorus
Created June 30, 2017 09:05
Show Gist options
  • Save danielpardorus/b001e4377064b397f4da57367cf5bfee to your computer and use it in GitHub Desktop.
Save danielpardorus/b001e4377064b397f4da57367cf5bfee to your computer and use it in GitHub Desktop.

Chef Intermediate

Creacción de Recursos

  1. Se crea el directorio resources y el fichero nombre_recurso.rb
  2. Se invoca desde las recetas.

Plugins

Ohai
  1. Como es una dependencia de apache, se crea una receta nueva y se añade al rol base.
  2. Descargamos el cookbook ohai
  3. Creamos un fichero atributos para definir las rutas.
  4. Se crea un fichero en : apache/files/default/plugins/modules.rb con DSL de ohai
  5. Se crea la receta del plugin cookbooks/apache/recipes/ohai_plugin.rb
  6. Añadir la receta ohai al role web

Foodcritics

  1. Miramos que pinta tienen las recetas: $foodcritic cookbooks/apache
  2. Podemos quitar avisos $foodcritic cookbooks/apache -t ~FC064 -t ~FC065 -t style (todas de estlos) -t FC008 (mirame solo es)
  3. Pero lo mejor es crear un fichero .foodcritic para definir que reglas no muetre .foodcritic (1 regla por linea)
  4. Lista de reglas Se pueden generar reglas propias
  5. !!! Se pueden deshabilitar Reglas in-line. Se pone un comentarion el la linea de una receta que queremos que no de warning.

Rubocop

  1. cd cokbooks/apache
    $ rubocop
  2. Se genera fichero de excepciones.yml Cops
    $ rubocop --auto-gen-config
  3. Se modifica el fichero generado para ir filtrando.
    • 3.4. Se puede ir personalizando. Por ej:
      SupportedStyles: double_quotes
    • 3.5. Lo lanzamos contra ese fichero de configuración:
      $ rubocop --config .rubocop_todo.yml
    • 3.6. Algunos de los cops admiten auto-corrección . Lo mejor es ir caso por caso, es decir, primero pongo a true un fallo en el .yml y pruebo el auto-correct contra ese fallo.
      $ rubocop --config .rubocop_todo.yml
  4. Lo ideal es crear un archivo .rubocop.yml (ayudandose del .rubocop_todo-yml) para ignorar/definir cambios y se mete el contenido igual que en el de configuracion.
  5. Rubocop Manual
    • Lo ideal es tener en el workstation un fichero .rubocop.yml general y en cada receta otro rubocop.yml que hereda del general.
  6. !!! Se pueden deshabilitar Reglas in-line. Se pone un comentarion el la linea de una receta que queremos que no de warning. Ir
  7. Se pueden personalizar hooks para que si no pasa las reglas no se permiten hacer commits u otras operaciones:

Nota: (gestión de issues)
Bugzilla
redmina
JIRH

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment