Propiedades y recursos del entorno de tuberías de Tekton
La siguiente información y recursos están disponibles de forma predeterminada para un IBM Cloud® Continuous Delivery Tekton PipelineRun.
PipelineRun anotaciones
La tabla 1 describe las anotaciones que se incluyen en un Tekton PipelineRun.
| Anotación de ejecución | Descripción |
|---|---|
devops.cloud.ibm.com/build-number |
El número de compilación del conducto. Este número es el total acumulado de ejecuciones del conducto desde todos los desencadenantes. |
devops.cloud.ibm.com/listener |
El Tekton eventlistener asignado al desencadenante que inició la ejecución de esta canalización. |
devops.cloud.ibm.com/pipeline-id |
El ID exclusivo del conducto utilizado para esta ejecución. |
devops.cloud.ibm.com/trigger-name |
El nombre del desencadenante que ha iniciado esta ejecución del conducto. |
devops.cloud.ibm.com/trigger-type |
El tipo de desencadenante que ha iniciado esta ejecución del conducto. El tipo puede ser manual, timer, scm o generic. |
devops.cloud.ibm.com/triggered-by |
El usuario que ha iniciado el desencadenante. Este valor es el IBMId del usuario que pulsó ejecutar para manual disparadores, el usuario que guardó por última vez el disparador para timer disparadores
o el usuario que realizó la Git acción para scm disparadores. Este valor está vacío para los desencadenantes de tipo generic. |
devops.cloud.ibm.com/pipeline-run-url |
El URL de la página de detalles de esta ejecución del conducto. |
devops.cloud.ibm.com/tekton-pipeline |
El ID exclusivo de esta ejecución del conducto. |
Acceso a las anotaciones
Puede acceder a las anotaciones desde las tareas dentro del archivo yaml de definición de conducto. En el siguiente ejemplo se muestra cómo acceder a la anotación devops.cloud.ibm.com/build-number. Para proporcionar esa anotación
como variable de entorno, sustitúyala por una de las anotaciones de ejecución de la Tabla 1. PipelineRun anotaciones.
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: simple-task
spec:
steps:
- name: simple-step
image: icr.io/continuous-delivery/pipeline/pipeline-base-image:2.69
env:
- name: BUILD_NUMBER
valueFrom:
fieldRef:
fieldPath: metadata.annotations['devops.cloud.ibm.com/build-number']
command: ["bash", "-c"]
args:
- echo $BUILD_NUMBER;
echo "COMPLETED"
ConfigMap y Secret de PipelineRun
El Continuous DeliveryPipelineRun recurso Tekton crea un y ConfigMap``Secret específico para las propiedades del entorno. Las propiedades seguras están disponibles en el valor secure-properties de Kubernetes
Secret, que incluye las propiedades de Tool integration para las que el campo seleccionado contiene un valor seguro. Las propiedades no seguras están disponibles en el environment-propertiesKubernetesConfigMap.
Las claves son el nombre del campo que se proporciona en la interfaz de usuario de creación de canalizaciones.
Cuando acceda a un valor ConfigMap o Secret, asegúrese de localizar el nombre de objeto y las referencias correctas para que el conducto se pueda completar correctamente.
Acceso a valores individuales
Puede acceder a pares individuales de clave y valor dentro de una tarea (Task). El siguiente fragmento de código utiliza el nombre de apikey propiedad de muestra (con propiedades seguras) y el nombre environment de propiedad (con propiedades de texto). Estos nombres de propiedades se configuran en la página Propiedades del canal de entrega.
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: cm-echo-props
spec:
steps:
- name: cm-show-props
image: icr.io/continuous-delivery/pipeline/pipeline-base-image:2.69
env:
- name: SECURE_VALUE
valueFrom:
secretKeyRef:
name: secure-properties
key: apikey
- name: ENVIRONMENT
valueFrom:
configMapKeyRef:
name: environment-properties
key: environment
command: ["/bin/bash", "-c"]
args:
- echo -e "environment from ConfigMap is >>";
echo $ENVIRONMENT;
echo "";
echo -e "apikey from Secrets is >>";
echo $SECURE_VALUE
Acceso a todos los valores
Puede añadir todos los pares de clave y valor desde el valor ConfigMap y Secret al entorno Task:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: cm-secrets-props
spec:
steps:
- name: cm-show-full-env
image: icr.io/continuous-delivery/pipeline/pipeline-base-image:2.69
envFrom:
- configMapRef:
name: environment-properties
- secretRef:
name: secure-properties
command: ["/bin/bash", "-c"]
args:
- echo -e "The environment for this Step is ";
env
Dimensionamiento de máquinas virtuales de trabajadores gestionados
Cuando ejecuta una interconexión utilizando la agrupación de IBM Managed Worker, se asigna una máquina virtual con una memoria predeterminada específica. Aunque la mayoría de los trabajos se pueden ejecutar correctamente con la memoria proporcionada, determinadas interconexiones requieren memoria adicional para tareas intensivas.
Los usuarios pueden especificar una etiqueta en sus tareas para indicar si una tarea requiere más (o menos) memoria para una tarea específica. Esta capacidad para identificar la cantidad específica de recursos que son necesarios beneficia al uso de recursos y a un eventual ahorro de costes.
Para indicar qué perfil de VM aplicar a una tarea específica dentro de un conducto de Tekton, añada la etiqueta runtimeClassName a la tarea con uno de los siguientes valores de VM. Si no se proporciona ninguna etiqueta, se utiliza
el perfil de VM predeterminado.
small: 2Gimedium: 4Gi (valor predeterminado)large: 8Gi
Por ejemplo:
apiVersion: tekton.dev/v1beta1
kind: Task
metadata:
name: task1
labels:
runtimeClassName: medium
and so on.
También puede especificar la misma configuración en PipelineRun como parte de TriggerTemplate. Al especificar runtimeClassName en PipelineRun, los usuarios pueden seleccionar el perfil de VM
que desean utilizar sin cambiar las definiciones de tarea.
Por ejemplo:
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
generateName: pipeline-run-
spec:
pipelineRef:
name: pipeline
taskRunSpecs:
- pipelineTaskName: task1
taskPodTemplate:
runtimeClassName: medium
Formato de registro
En esta sección se describen las características y funcionalidades del visor de registros que se ofrece en la página de detalles PipelineRun, así como el formato de registro compatible para aprovechar estas características.
Funcionalidad básica
El visor de registros admite códigos de color ANSI y estilos de texto, y detecta automáticamente las URL en el contenido del registro y las muestra como enlaces en los que se puede hacer clic y que se abren en una nueva ventana.
Barra de herramientas
La barra de herramientas que aparece en el visor de registros incluye una serie de funciones adicionales, entre las que se incluyen:
- maximizar: aumentar el área disponible para el visor de registros ocultando la lista de tareas y la cabecera de ejecución. Esto permite al usuario eliminar las distracciones de otras partes de la aplicación y centrarse en el contenido del registro.
- preferencias del usuario: se mantienen localmente en el navegador y se aplican a todos los registros de la aplicación. Consulte las secciones siguientes para obtener más detalles.
Indicaciones de fecha y hora
IBM-los trabajadores gestionados y los trabajadores privados con la versión de agente 0.20.5 o posterior producen por defecto líneas de registro prefijadas con marcas de tiempo. El usuario puede mostrar u ocultar estas marcas de tiempo en el visor de registros activando la opción en el menú de configuración de la barra de herramientas situada en la parte superior del visor de registros.
Las marcas de tiempo mostradas se localizan en función de la configuración del navegador del usuario, y el valor bruto de la marca de tiempo recibido del trabajador se proporciona como información sobre herramientas al pasar el ratón por encima.
Niveles de registro
El visor de registros analiza las líneas de registro para detectar el nivel de registro asociado y decorarlas en consecuencia para ayudar a consumir los registros. A continuación se describe el formato admitido.
<timestamp> ::<level>::<message>
timestampla proporciona el trabajadorleveles uno deerror,warning,notice,info,debug,tracedebugytracelos registros están ocultos de forma predeterminada- cualquier línea de registro sin un
levelexplícito se considera comoinfo, pero no mostrará el distintivo de nivel de registro para evitar redundancias en la interfaz de usuario cuando los usuarios no utilicen el formato de registro admitido
messagees cualquier otro contenido de la línea, y puede contener códigos ANSI de formato, etc.
Por ejemplo, el siguiente fragmento mostraría una línea de registro en el nivel warning:
echo '::warning::Something that may require attention but is non-blocking…'
Los niveles de registro mostrados pueden modificarse mediante el menú de configuración de la barra de herramientas situada en la parte superior del visor de registros.
Grupos de registros
Además de los niveles de registro, el visor de registros también admite grupos colapsables dentro de los registros. A continuación se describe el formato admitido.
<timestamp> ::group::<message>
…
<timestamp> ::endgroup::
Un comando group marca el inicio del grupo. El contenido de message se muestra como título / resumen del grupo junto con un indicador del estado actual del grupo (es decir, expandido o contraído). Si hace clic en
el resumen, cambiará el estado del grupo.
Los grupos se muestran en estado colapsado por defecto, a menos que el paso esté todavía en curso cuando se visualizan los registros. El usuario puede expandir o contraer los grupos como desee y su estado se mantendrá hasta que el usuario navegue a una vista diferente.
Los grupos de registro no se pueden mezclar con niveles de registro en la misma línea, los comandos group, endgroup y nivel de registro son mutuamente excluyentes. Sin embargo, los registros contenidos dentro de un
grupo pueden utilizar los niveles de registro de forma normal.
No se admite el anidamiento de grupos. Un comando group terminará implícitamente cualquier grupo anterior no terminado.
Por ejemplo, el siguiente fragmento mostraría un grupo de registro con el resumen "Configuración adicional" que contiene una serie de mensajes en el nivel info:
echo '::group::Additional config'
echo 'This extends the base config'
echo '::info:: More info about the config…'
echo '::endgroup::'
Más información sobre los conductos de entrega de Tekton
Para obtener más información sobre Tekton y Continuous Delivery, consulte Tekton: A Modern Approach to Continuous Delivery.