Enlazar una tarea de canalización significa que se crea una dependencia para la tarea cuando se ejecuta la canalización. Puede crear un enlace para una tarea de canalización de varias maneras. Puede enlazar una tarea a otra tarea, enlazarla a una variable y expresión, o enlazarla a una condición.

Cómo aplicar enlaces de símbolo de dólar a variables de plantilla de nube en una tarea de plantilla de nube

Puede aplicar enlaces de símbolo de dólar a variables de plantilla de nube en una tarea de plantilla de nube de canalización de Code Stream. La manera en la que se modifican las variables en Code Stream depende de la codificación de las propiedades de variable en la plantilla de nube.

Si debe utilizar enlaces de símbolo de dólar en una tarea de plantilla de nube, pero la versión actual de la plantilla de nube que utiliza en la tarea de plantilla de nube no lo permite, modifique la plantilla de nube en Cloud Assembly e implemente una versión nueva. Luego, utilice la versión nueva de la plantilla de nube en la tarea de plantilla de nube y agregue los enlaces de símbolo de dólar donde sea necesario.

Para aplicar enlaces de símbolo de dólar en los tipos de propiedades que proporciona la plantilla de nube de Cloud Assembly, debe tener los permisos correctos.

  • Debe tener la misma función que la persona que creó la implementación de la plantilla de nube en Cloud Assembly.
  • La persona que modela la canalización y la persona que ejecuta la canalización pueden ser dos usuarios distintos y pueden tener funciones diferentes.
  • Si un desarrollador tiene la función de ejecutor de Code Stream y modela la canalización, el desarrollador deberá tener también la misma función de Cloud Assembly que la persona que implementó la plantilla de nube. Por ejemplo, la función que se requiere podría ser la de administrador de Cloud Assembly.
  • Solo la persona que modela la canalización puede crear la canalización y la implementación porque tiene permiso.

Para utilizar un token de API en la tarea de plantilla de nube:

  • La persona que modela la canalización puede proporcionar un token de API a otro usuario que tenga la función de ejecutor de Code Stream. Después, cuando el ejecutor ejecute la canalización, usará el token de API y las credenciales que crea el token de API.
  • Cuando un usuario introduce el token de API en la tarea de plantilla de nube, crea las credenciales que requiere la canalización.
  • Para cifrar el valor del token de API, haga clic en Crear variable.
  • Si no crea una variable para el token de API y lo utiliza en la tarea de plantilla de nube, el valor del token de API aparecerá como texto sin formato.

Para aplicar enlaces de símbolo de dólar a variables de plantilla de nube en una tarea de plantilla de nube, realice los siguientes pasos.

Comience con una plantilla de nube que tenga definidas propiedades de variable de entrada; por ejemplo, integerVar, stringVar, flavorVar, BooleanVar, objectVar y arrayVar. Puede encontrar las propiedades de imagen definidas en la sección resources. Las propiedades del código de plantilla de nube pueden ser similares a las siguientes:

formatVersion: 1
inputs:
  integerVar:
    type: integer
    encrypted: false
    default: 1
  stringVar:
    type: string
    encrypted: false
    default: bkix
  flavorVar:
    type: string
    encrypted: false
    default: medium
  BooleanVar:
    type: boolean
    encrypted: false
    default: true
  objectVar:
    type: object
    encrypted: false
    default:
      bkix2: bkix2
  arrayVar:
    type: array
    encrypted: false
    default:
      - '1'
      - '2'
resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      image: ubuntu
      flavor: micro
      count: '${input.integerVar}'

Puede utilizar las variables de signo de dólar ($) para image y flavor. Por ejemplo:

resources:
  Cloud_Machine_1:
    type: Cloud.Machine
    properties:
      input: '${input.image}'
      flavor: '${input.flavor}'

Para utilizar una plantilla de nube en una canalización de Code Stream y agregarle enlaces de símbolo de dólar, siga estos pasos.

  1. En Code Stream, haga clic en Canalizaciones > Lienzo en blanco.
  2. Agregue una tarea de Plantilla de nube a la canalización.
  3. En la tarea de plantilla de nube, para Origen de plantilla de nube, seleccione Plantillas de nube de Cloud Assembly, introduzca el nombre de la plantilla de nube y seleccione su versión.
  4. Tenga en cuenta que puede introducir un token de API, que proporciona credenciales para la canalización. Para crear una variable que cifre el token de API en la tarea de plantilla de nube, haga clic en Crear variable.
  5. En la tabla Parámetro y valor que se muestra, observe los valores de los parámetros. El valor predeterminado de flavor es small y el valor predeterminado de image es ubuntu.
  6. Supongamos que debe cambiar la plantilla de nube en Cloud Assembly. Por ejemplo, puede hacer lo siguiente:
    1. Establezca flavor para que utilice una propiedad de tipo array. Cloud Assembly permite valores separados por coma para flavor cuando el tipo es array.
    2. Haga clic en Implementar.
    3. En la página Tipo de implementación, introduzca un nombre para la implementación y seleccione la versión de la plantilla de nube.
    4. En la página Entradas de implementación, puede definir uno o varios valores para flavor.
    5. Tenga en cuenta que las entradas de la implementación incluyen todas las variables definidas en el código de plantilla de nube y aparecen como se definen en el código de plantilla de nube. Por ejemplo: Integer Var, String Var, Flavor Var, Boolean Var, Object Var y Array Var. String Var y Flavor Var son valores de cadena y Boolean Var es una casilla de verificación.
    6. Haga clic en Implementar.
  7. En Code Stream, seleccione la nueva versión de la plantilla de nube e introduzca los valores en la tabla Parámetro y valor. Las plantillas de nube admiten los siguientes tipos de parámetros, que habilitan los enlaces de Code Stream mediante variables de signo de dólar. Existen leves diferencias entre la interfaz de usuario de la tarea de plantilla de nube de Code Stream y la interfaz de usuario de la plantilla de nube de Cloud Assembly. En función de la codificación de una plantilla de nube en Cloud Assembly, puede que no se permita introducir valores en la tarea de plantilla de nube de Code Stream.
    1. Para flavorVar, si la plantilla de nube definió el tipo como cadena o matriz, introduzca una cadena o una matriz de valores separados por comas. Una matriz de ejemplo se asemeja a prueba, prueba.
    2. Para BooleanVar, seleccione true o false en el menú desplegable. Como alternativa, para usar un enlace de variables, introduzca $ y seleccione un enlace de variable de la lista.Cuando se agrega la variable de enlace introduciendo el signo de dólar en el área de texto BooleanVar, las variables booleanas disponibles aparecen para seleccionarse.
    3. Para objectVar, introduzca el valor con llaves y comillas en este formato: {"bkix":"bkix":}.
    4. objectVar se transferirá a la plantilla de nube y se podrá utilizar de distintas formas en función de la plantilla de nube. Permite un formato de cadena para un objeto JSON y se pueden agregar pares clave-valor como valores separados por coma en la tabla de clave-valor. Puede introducir texto sin formato para un objeto JSON o un par clave-valor como un formato de cadena normal para JSON.
    5. Para arrayVar, introduzca el valor de entrada separado por comas como una matriz con este formato: ["1","2"].
  8. En la canalización, puede enlazar un parámetro de entrada a una matriz.
    1. Haga clic en la pestaña Entrada.
    2. Introduzca un nombre para la entrada. Por ejemplo, arrayInput.
    3. En la tabla Parámetro y valor, haga clic en arrayVar e introduzca ${input.arrayInput}.
    4. Después de guardar la canalización y habilitarla, cuando se ejecute la canalización, tendrá que proporcionar un valor de entrada de matriz. Por ejemplo, introduzca ["1","2"] y haga clic en Ejecutar.

Ahora ya ha aprendido a utilizar los enlaces de variables de signo de dólar ($) en una plantilla de nube en una tarea de plantilla de nube de canalización de Code Stream.

Cómo pasar un parámetro a una canalización cuando se ejecuta

Puede agregar parámetros de entrada a la canalización para que Code Stream las transfiera a la canalización. A continuación, cuando se ejecuta la canalización, un usuario debe introducir el valor del parámetro de entrada. Al agregar parámetros de salida a la canalización, las tareas de canalización pueden utilizar el valor de salida de una tarea. Code Stream admite el uso de parámetros de muchas maneras que son compatibles con las necesidades de su propia canalización.

Por ejemplo, para solicitar a un usuario la dirección URL de su servidor de Git cuando se ejecuta una canalización con una tarea de REST, puede enlazar la tarea de REST a la URL de un servidor de Git.

Para crear el enlace de variables, agregue una variable de enlace de URL a la tarea de REST. Cuando la canalización ejecute y llegue a la tarea de REST, el usuario deberá introducir la dirección URL en el servidor de Git. Aquí se muestra cómo crearía el enlace:

  1. En la canalización, haga clic en la pestaña Entrada.
  2. Para establecer el parámetro, para Parámetros de inserción automática, haga clic en Git.

    Aparece la lista de parámetros de Git y se incluye GIT_SERVER_URL. Si debe utilizar un valor predeterminado para la URL del servidor de Git, edite este parámetro.

  3. Haga clic en Modelo y, a continuación, haga clic en la tarea de REST.
  4. En la pestaña Tarea, en el área URL, introduzca $ y, a continuación, seleccione entrada y GIT_SERVER_URL.

    Cuando se agrega la variable de enlace introduciendo el signo de dólar en el área de texto URL y se selecciona entrada, se muestran los parámetros de entrada de Git disponibles para seleccionarse.

    La entrada es similar a la siguiente: ${input.GIT_SERVER_URL}

  5. Para comprobar la integridad del enlace de variables de la tarea, haga clic en Validar tarea.

    Code Stream indica que la tarea se validó correctamente.

  6. Cuando la canalización ejecute la tarea de REST, el usuario deberá introducir la dirección URL en el servidor de Git. De lo contrario, la tarea no finaliza su ejecución.

Cómo enlazar dos tareas de canalización mediante la creación de parámetros de entrada y de salida

Cuando se enlazan dos tareas, se agrega una variable de enlace a la configuración de entrada de la tarea receptora. Posteriormente, cuando se ejecute la canalización, el usuario deberá reemplazar la variable de enlace por la entrada requerida.

Para enlazar las tareas de canalización, utilice la variable de signo de dólar ($) en los parámetros de entrada y de salida. En este ejemplo se muestra cómo hacerlo.

Supongamos que necesita la canalización para llamar a una URL en una tarea de REST y generar una respuesta. Para llamar a la URL y generar la respuesta, incluya tanto los parámetros de entrada como los de salida en la tarea de REST. También necesita un usuario que pueda aprobar la tarea, e incluir una tarea de operaciones de usuario para que otro usuario que pueda aprobarla cuando se ejecute la canalización. Este ejemplo muestra cómo utilizar expresiones en los parámetros de entrada y de salida, y hacer que la canalización espere a la aprobación de la tarea.

  1. En la canalización, haga clic en la pestaña Entrada.

    La pestaña Entrada en la canalización muestra las selecciones de los parámetros de entrada de Gerrit, Git y Docker, y enumera los parámetros disponibles para cada selección.

  2. Deje los parámetros de inserción automática como Ninguno.
  3. Haga clic en Agregar e introduzca el nombre, el valor y la descripción del parámetro, y haga clic en Aceptar. Por ejemplo:
    1. Introduzca un nombre de URL.
    2. Introduzca el valor: {Stage0.Task3.input.http://www.docs.vmware.com}
    3. Introduzca una descripción.
  4. Haga clic en la pestaña Salida, haga clic en Agregar e introduzca el nombre y la asignación del parámetro de salida.

    En la pestaña Salida de la canalización, puede agregar un parámetro de salida y seleccionar un parámetro de respuesta de REST en la lista que aparece.

    1. Introduzca un nombre de parámetro de salida único.
    2. Haga clic en el área Referencia e introduzca $.
    3. Para introducir la asignación de salida de la tarea, seleccione las opciones que aparecen en la ventana emergente. Seleccione Stage0, seleccione Task3, seleccione salida y seleccione responseCode. Haga clic en Aceptar.

      Después de agregar un parámetro de salida, la pestaña Salida muestra el nombre del parámetro que agregó y su referencia en la etapa y la tarea de la canalización.

  5. Guarde la canalización.
  6. En el menú Acciones, haga clic en Ejecutar.
  7. Haga clic en Acciones > Ver ejecuciones.
  8. Haga clic en la ejecución de la canalización y examine los parámetros de entrada y de salida que definió.

    La ejecución de la canalización muestra el parámetro de entrada de URL con la URL que introdujo y el parámetro de salida de respuesta con el código de respuesta que seleccionó.

  9. Para aprobar la canalización, haga clic en Operaciones de usuario y vea la lista de aprobaciones en la pestaña Elementos activos. O bien, continúe en las ejecuciones, haga clic en la tarea y, a continuación, haga clic en Aprobar.
  10. Para habilitar los botones Aprobar y Rechazar, haga clic en la casilla de verificación situada junto a la ejecución.
  11. Para ver los detalles, expanda la flecha desplegable.
  12. Para aprobar la tarea, haga clic en APROBAR, introduzca un motivo y haga clic en Aceptar.

    Los detalles de la operación del usuario muestran quién solicitó la aprobación, cuándo lo hizo, los aprobadores requeridos y cuándo caduca la aprobación.

  13. Haga clic en Ejecuciones y vea cómo continúa la canalización.

    Después de aprobar la operación del usuario, la canalización continúa y el estado en la ejecución de la canalización indica EN EJECUCIÓN.

  14. Si se produce un error en la canalización, corrija los errores y, a continuación, guarde la canalización y ejecútela de nuevo.

    Cuando la canalización finaliza, el estado de la ejecución de la canalización indica COMPLETADO.

Cómo obtener más información sobre variables y expresiones

Para ver los detalles sobre el uso de variables y expresiones al enlazar tareas de canalización, consulte Qué variables y expresiones se pueden utilizar al enlazar tareas de canalización en VMware Code Stream.

Para obtener información sobre cómo utilizar la salida de la tarea de canalización con un enlace de variable de condición, consulte Cómo utilizar enlaces de variables en una tarea de condición para ejecutar o detener una canalización en VMware Code Stream.