WARNING: Jenkins X version 2.x is unmaintained. Do not use it.
Please refer to the v3 documentation for the latest supported version.
¿Cómo funciona?
Repositorio de Origen
Boot configura automáticamente todos los elementos de tipo SourceRepository que existan en la carpeta repositories/templates. De igual agrega todo los elementos de tipo Scheduler para reconstruir la configuración de Prow.
De igual forma, Boot crea y actualiza automáticamente los webhooks que se necesiten en el proveedor de git para los recursos SourceRepository.
Si está utilizando GitOps, esperamos automatizar la gestión de la carpeta repositories/templates a medida que se importa/crea proyectos. Hasta entonces, puede crear manualmente un Pull Request en su repositorio git de boot a través de jx step create pullrequest repositories.
Pipeline
El proceso de instalación/actualización está definido en un Jenkins X Pipeline en el fichero con nombre jenkins-x.yml.
Lo típico es que no tenga que modificar este fichero, pero si necesitas hacerlo revisa primero esta guía.
Configuración
El proceso boot se configura utilizando el estilo de configuración de Helm basado en ficheros values.yaml
. Aunque también admitimos el uso de algunas extensiones para helm.
Fichero de Parámetros
Se ha definido el fichero env/parameters.yaml para establecer todos los parámetros registrados y cargados desde Vault o desde el directorio de archivos local con información sensible.
Inserción de secrets en los parámetros
Si observan en el fichero env/parameters.yaml podrán ver algunos valores en el propio fichero y otros relacionados con un enlace, por ejemplo local:my-cluster-folder/nameofSecret/key
. Las definiciones con enlace permiten 2 esquemas:
vault:
para obtener valores desde Vault (ubicación + llave).local:
para obtener valores desde el fichero almacenado en~/.jx/localSecrets/$path.yml
(llave solamente).
Esto significa que se pueden almacenar todos los Parámetros utilizados en la configuración inicial para luego hacer referencia a ellos desde la fichero values.tmpl.yaml
y poblar el árbol de valores a insertar luego en Vault.
Poblar el fichero parameters.yaml
Se puede poblar o nutrir el fichero env/parameters.yaml
del Pipeline a través del comando:
jx step create values --name parameters
Se utiliza el fichero parameters.schema.json para nutrir el UI.
Mejoras al fichero values.yaml
Mantenimiento del árbol de ficheros values.yaml
En lugar de tener solo un fichero enorme values.yaml con todas las anidaciones posibles, se puede tener una estructura de arbórea de archivos para cada aplicación que solo incluya la configuración específica en cada carpeta. p.ej.
env/
values.yaml # nivel máximo de configuración
prow/
values.yaml # configuraciones específicas de Prow
tekton/
values.yaml # configuraciones específicas de Tekton
Plantillas values.tmpl.yaml
Al utilizar jx step helm apply
permitimos que los archivos values.tmpl.yaml
utilicen las plantillas go/helm en la misma forma que los archivos templates/foo.yaml
son utilizados dentro de las plantillas helm. De esta forma se pueden generar cadenas de valor/dato que utilicen plantillas para estructurar cosas como valores de secrets más pequeños. p.ej. crear un fichero maven settings.xml
o un fichero docker config.json
que incluye muchos usuarios/contraseñas para diferentes registros.
Podemos ver en el fichero values.tmpl.yaml
cómo están todos los elementos estructurados y podremos referencia a ellos como valore de secrets a través de URLs (o funciones de plantillas) para acceder a Vault o al almacenamiento local.
Para hacer esto se utiliza la expresión {{ .Parameter.pipelineUser.token }}
en algún lugar del archivo values.tmpl.yaml
. Entonces se podrá insertar valores dentro de la plantillas helm; pero esto sucede primero para ayudar a generar el fichero values.yaml
.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.