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.
sgy
Las etiquetas para GitLab CI y las etiquetas para Git son dos conceptos diferentes.
Cuando escribes tu .gitlab-ci.yml
puede 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.yml
puede 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
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
- empujar a control remoto junto con etiquetas
- verifique los registros en la aplicación del cliente, por ejemplo, en pycharm como se muestra a continuación:
- Ahora verifique lo mismo en gitlab->Repo->tags
- en el trabajo de gitlab, lo mismo se puede revisar usando exportar y el resultado del trabajo tendría a continuación: