Descripción de las etiquetas CI de Gitlab

4 minutos de lectura

Avatar de usuario de RiddleMeThis
Adiviname esto

He leído documentación, algunos artículos y puede que me llames tonto, pero esta es la primera vez que trabajo con un concepto como este.

  • Me he registrado como corredor con la etiqueta “testing”
  • etiqueta creada “testing” en gitlab
  • ligado este corredor, con proyecto particular
  • También agregué la misma etiqueta, por ejemplo, “pruebas” en mi repositorio local.

PERO, ¿cómo exactamente la ejecución de mis trabajos depende de esas etiquetas? ¿Son todas estas operaciones necesarias? Si presiono un código nuevo en el repositorio, el archivo * .yml se ejecuta de todos modos en la medida en que lo probé.

Entonces, ¿qué pasa si quiero ejecutar la compilación solo cuando defino una versión en una confirmación?

NO SÉ…

   git commit --tags "v. 2.0" -m "this is version 2.0" (probably not right)

Pero, por supuesto, debería ser universal, por lo que no tengo que decir siempre qué etiqueta usar para activar al corredor, pero por ejemplo, dejar que reconozca valores numéricos.

Como puede ver, estoy bastante confundido… Si pudiera explicar cómo funcionan exactamente las etiquetas, para poder entender el concepto, estaría muy agradecido.

avatar de usuario de sgy
sgy

Las etiquetas para GitLab CI y las etiquetas para Git son dos conceptos diferentes.

Cuando escribes tu .gitlab-ci.ymlpuede especificar algunos trabajos con la etiqueta testing. Si un corredor con esta etiqueta asociada está disponible, recogerá el trabajo.

En Git, dentro de su repositorio, las etiquetas se usan para marcar una confirmación específica. A menudo se usa para etiqueta una versión

Los dos conceptos se pueden mezclar cuando usa etiquetas (en Git) para iniciar su canalización en GitLab CI. En tus .gitlab-ci.ymlpuede especificar la sección only con tags.

Referirse a Documentación de GitLab para etiquetas y solo.

Un ejemplo es cuando empujas una etiqueta con git:

$ git tag -a 1.0.0 -m "1.0.0"
$ git push origin 1.0.0

y un trabajo en .gitlab-ci.yml Me gusta esto:

compile:
    stage: build
    only: git,gitlab,Yaml,etiquetado,git-etiqueta,git,gitlab,Yaml,etiquetado,git-etiqueta
    script:
        - echo Working...
    tags: [testing]    

comenzaría a usar un corredor con el testing etiqueta.

Según tengo entendido, lo que falta en sus pasos es especificar la etiqueta testing a tu corredor. Para hacer esto, ingrese a GitLab en su proyecto. Junto a
wikihaga clic en Ajustes. Ir a Canalizaciones de CI/CD y ahí tienes tu(s) corredor(es). Junto a su GUID, haga clic en el icono del bolígrafo. En la página siguiente se pueden modificar las etiquetas.

  • ¿Necesito especificar una etiqueta al crear el corredor?

    – usuario1933178

    9 de noviembre de 2017 a las 14:45

  • Sí, eso se puede hacer en el lado del corredor al momento de registrarlo. Después de eso, necesita los derechos en el proyecto si desea editar la configuración del corredor (incluidas las etiquetas), y los cambios se realizan en el lado del servidor de gitlab. En la página que enumera a sus corredores para ese proyecto, tiene un pequeño ícono de edición (un lápiz) que lo lleva a la página donde puede editar las etiquetas.

    – liberforce

    11/12/2017 a las 11:00

  • Utilicé gitlab runner para crear archivos DEB y terminé usando estas etiquetas; también acepta expresiones regulares: etiquetas: – /^.*build_v\..*$/ Donde incluso el gitlab-runner asignado debe configurarse para capturar este tipo de TAG de expresión regular. Luego usé el número de versión para construir mis paquetes. Entonces, si cometí una etiqueta con “build_vX.YZ”, el corredor se activó.

    – Adiviname esto

    18 de marzo de 2020 a las 10:24

Avatar de usuario de Ahmad Abdelghany
Ahmad Abdelgany

¿Son todas estas operaciones necesarias?

No, si todo lo que tiene es un corredor, o si tiene muchos pero no le importa qué corredor ejecuta su trabajo, entonces no tiene sentido etiquetar corredores/trabajos.

Entonces, ¿qué pasa si quiero ejecutar la compilación solo cuando defino una versión en una confirmación?

job:
  only:
    - tags

Gitlab-tag: es para identificar un corredor específico para su trabajo. árbitro
Git-tag: está versionando el compromiso. árbitro

Empujando un nuevo repositorio

  • generalmente se haría a través de un cliente git como pycharm (ejemplo actual)
  • crear/actualizar código
  • comprometerse
  • establecer una etiqueta git para la confirmación
  • ingrese la descripción de la imagen aquí
  • empujar a control remoto junto con etiquetas
  • ingrese la descripción de la imagen aquí
  • verifique los registros en la aplicación del cliente, por ejemplo, en pycharm como se muestra a continuación:
  • ingrese la descripción de la imagen aquí
  • Ahora verifique lo mismo en gitlab->Repo->tags
  • ingrese la descripción de la imagen aquí
  • en el trabajo de gitlab, lo mismo se puede revisar usando exportar y el resultado del trabajo tendría a continuación:
  • ingrese la descripción de la imagen aquí

¿Ha sido útil esta solución?