Build Forge utiliza un conjunto simple de objetos para construir descripciones de automatización de procesos.
Esta sección le ofrece una versión general de conceptos clave y objetos y cómo están relacionados. Se incluyen enlaces a explicaciones más detalladas para su comodidad.
Usuarios y roles
Para poder acceder a Build Forge, los usuarios necesitan tener una configuración de objeto de usuario. En los sistemas de producción esto se realiza configurando Build Forge para que pueda acceder a un sistema de gestión de identidades, LDAP.
Build Forge utiliza un sistema de autorización para controlar el acceso de usuarios a todos los objetos. Grupo de acceso los objetos
contienen listas de permisos. Un usuario pertenece
a uno o más grupos de acceso.
Puede crear sus propios grupos de acceso o modificar los ya proporcionados. Los grupos de acceso definidos en el sistema son:
- Ingeniero del Build: define los procesos (crea proyectos y pasos)
- Gestor del sistema: administra los servidores y otras características de todo el sistema
- Seguridad: administra los usuarios, el acceso y la seguridad
- Desarrollador: ayuda a desarrollar procesos, ejecuta trabajos, visualiza resultados
- Operador: copia proyectos, ejecuta trabajos, visualiza resultados
- Invitado: copia proyectos, ejecuta trabajos, visualiza resultados
Servidores
Un objeto de servidor define
un lugar en el que los proyectos y los pasos se pueden ejecutar. Los proyectos y los pasos pueden utilizar el mismo servidor o seleccionar uno de forma independiente.
Los objetos de servidor representan hosts en los que se realiza trabajo. El host debe estar ejecutando un agente de Build Forge para recibir el trabajo del sistema y devolver los resultados.
Otros objetos están relacionados con servidores y deben ser configurados antes de definir los proyectos y los pasos:
- Autenticaciones de servidor: una autenticación de servidor almacena información de inicio de sesión para el servidor que se va a utilizar para acceder al host especificado por el servidor. Una autenticación de servidor se debe crear antes de crear el servidor que la utiliza. En la definición del servidor, usted elige la autenticación de servidor de la lista de todas las autenticaciones de servidor definidas en el sistema.
- Recopiladores: un objeto recopilador reúne propiedades específicas de un servidor. Los datos se almacenan en un manifiesto. Los servidores tienen un conjunto predeterminado de propiedades asignadas. Estas propiedades incorporadas incluyen información sobre la arquitectura de host, las conexiones de red y recursos (CPU,
memoria, carga). Puede añadir otras propiedades al definir los objetos recopiladores. Un recopilador se puede crear antes de añadirlo al servidor.
En la definición del servidor, usted elige el recopilador de la lista de todos los recopiladores definidos en el sistema.
- Selectores: un objeto selector define cómo un proyecto o paso seleccionan un servidor para su utilización. Un selector se debe crear antes de añadirlo al proyecto que lo utiliza. En la definición del proyecto, usted elige el selector de la lista de todos los selectores definidos en el sistema.
- Entornos: un objeto de entorno es un conjunto de variables que puede utilizar un paso. Durante un trabajo, las variables se establecen en el servidor de host antes de que se ejecute el paso. Los entornos se pueden
asociar con objetos de servidor, objetos de proyecto y objetos de paso.
Cuando la misma variable se establece en diferentes valores en diferentes entornos, un esquema de herencia determina qué valor se utiliza. Un entorno se debe crear antes de añadirlo a un servidor, proyecto o paso. En estas definiciones de objeto, usted elige el entorno de la lista de todos los entornos definidos en el sistema.
Entornos
Un entorno es un conjunto de variables. Los entornos se pueden especificar para servidor, proyecto y objetos de paso. Cuando se ejecuta un paso, el conjunto de entornos en cada uno de esos objetos se combina para proporcionar variables para el paso que se va a utilizar. Consulte Acerca de los entornos.
Las variables se pueden cambiar a medida que se ejecuta un paso. (Consulte Modificación de valores de variable durante la ejecución de pasos para obtener más información). El ámbito del cambio puede ser local para el paso, local para el proyecto o permanente (la variable se modifica en el entorno almacenado).
Las variables de sistema predefinidas están disponibles así como las variables que usted define.
Proyectos
Un proyecto define el trabajo que se va a realizar en un proceso. Cuando se inicia un proyecto, se ejecuta como un trabajo.
El trabajo que se va a realizar está incluido en la lista de pasos.
Otros objetos están relacionados con proyectos:
- Selectores: un selector determina donde se iniciará el proyecto. Si no se especifica un selector para el proyecto, no se puede ejecutar de forma independiente y se denomina una biblioteca. El selector ya debe estar definido para asignarlo a un trabajo.
- Entornos: un objeto de entorno es un conjunto de variables que puede utilizar un paso. Durante un trabajo, las variables se establecen en el servidor de host antes de que se ejecute el paso. Los entornos se pueden
asociar con objetos de servidor, objetos de proyecto y objetos de paso.
Un esquema de herencia determina qué valores se utilizan si la misma variable se establece en diferentes valores. Un entorno se debe crear antes de crear el servidor, proyecto o paso que lo utiliza. En estas definiciones de objeto, usted elige el entorno de la lista de todos los entornos definidos en el sistema.
- Plantillas de notificación: una plantilla
de notificación define cómo enviar notificaciones sobre la actividad de trabajo (inicio de trabajo, éxito del trabajo, error en el trabajo, otros). Un objeto de notificación define a quién notificar a través de grupos de acceso. El usuario especifica la ubicación del servidor SMTP en un valor del sistema.
- Clases: un objeto de clase se utiliza en proyectos de grupo con fines de mantenimiento. Las clases se utilizan normalmente para depurar o archivar periódicamente trabajos finalizados. Todos los trabajos que se han ejecutado utilizando el proyecto se ven afectados por la clase.
- Adaptadores: un adaptador define una integración con un sistema externo, normalmente un sistema de gestión de código fuente.
Varias plantillas de muestra se proporcionan como punto de partida. Necesita configurarlos aún más para gestionar la conexión y realizar acciones específicas en el sistema.
- Enlaces de adaptador: un enlace
de adaptador define la relación entre un adaptador y el proyecto que lo usa.
Pasos
Un paso define la unidad más pequeña de trabajo que se va a hacer. (Consulte Acerca de los pasos para obtener más información). Su componente clave es la propiedad Mandato, que incluye un mandato que se debe ejecutar en el servidor seleccionado.
La
propiedad Mandato también se puede utilizar para ejecutar mandatos de punto.
Los mandatos de punto son mandatos que se ejecutan en el motor de procesos y proporcionan funcionalidades adicionales.
Otros objetos están relacionados con proyectos:
- Selectores: un paso puede tener su propio selector.
Si no se especifica, utilizará el selector de su proyecto.
- Entornos: un paso puede tener su propio entorno.
Los entornos proporcionados por el servidor, el proyecto y el paso están combinados. De forma predeterminada, se aplican en ese orden, para que cualquier variable definida por el entorno del paso tenga preferencia sobre las definiciones de la misma variable. La precedencia se puede controlar en los valores del sistema.
- Filtro de registro: a un paso se le puede asignar un filtro de registro en la propiedad Resultado. Un objeto de filtro de registro se utiliza para especificar las condiciones que indican si el paso tiene éxito o resulta anómalo.
Debe utilizar las expresiones Perl para explorar el registro en búsqueda de un patrón particular.
Normalmente se utiliza el estado de salida del mandato, pero los filtros de registro proporcionan medios alternativos. Un filtro de registro se debe crear antes de especificarlo en un paso. En la propiedad Resultado para el paso, elija el filtro de registro de la lista en la que se encuentran todos los filtros de registro definidos en el sistema.
- Plantillas de notificación: una plantilla
de notificación define cómo enviar notificaciones sobre la actividad de paso (inicio de paso, éxito del paso, error en el paso, otros). Un objeto de notificación define a quién notificar a través de grupos de acceso. El usuario especifica la ubicación del servidor SMTP en un valor del sistema.
- Build Catalyst: un paso puede ejecutar rafmake, el programa de utilidad clave en Build
Catalyst. Build Catalyst proporciona los medios para acelerar las compilaciones basadas en make. Se debe instalar Build Catalyst en el mismo host en el que las compilaciones de make se ejecutan, además de un agente de Build Forge.
Trabajos
Un trabajo es un proyecto en ejecución. Cuando el trabajo se inicia,
el motor de procesos lo pone en cola y, a continuación, lo ejecuta. Puede comprobar el estado en el panel Trabajos. Cuando se termine, la siguiente información estará disponible:
- Resultados: puede revisar los resultados de todos los pasos abriendo el trabajo. También puede abrir un trabajo en ejecución para supervisar el progreso.
- Registro de paso: el registro de paso registra información extensa sobre cómo se ha ejecutado un paso e incluye información sobre los valores de manifiesto y entorno así como los resultados de la ejecución. Pulse el enlace de los resultados del paso en la página Resultados para visualizar el registro.
- Lista de materiales: la Lista de materiales (BOM) contiene información sobre pasos de trabajo y manifiestos de trabajo. Puede utilizar el mandato de punto .bom para formatear información adicional para el BOM y grabar datos en él. Puede utilizar el mandato de punto .scan para añadir líneas base y puntos de control al BOM.
Puede cancelar y reiniciar trabajos. Puede añadir proyectos a la Planificación para ejecutarlos a la hora planificada.