Outils pour utilisateurs

Outils du site


prog:gitlab

Ceci est une ancienne révision du document !


Configuration

.gitlab-ci.yml

Windows

Pour appeler une commande nécessitant l'opérateur Call &, il faut passer par le multiligne :

    - |
      & $Env:VARIABLE

Variables d'environnement

CI_PIPELINE_SOURCE

Les variables d'environnement ne sont pas les mêmes en fonction du pipeline source.

CI_PIPELINE_SOURCE=merge_request_event
CI_MERGE_REQUEST_TARGET_BRANCH_NAME=main
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME=125-secure_ci
CI_COMMIT_BRANCH=
CI_PIPELINE_SOURCE=push
CI_COMMIT_BRANCH=125-secure_ci
CI_MERGE_REQUEST_TARGET_BRANCH_NAME=
CI_MERGE_REQUEST_SOURCE_BRANCH_NAME=

API

Ici, le token doit avec un accès “API”.

Admin

Supprimer tous les artefacts

curl --request DELETE --header "PRIVATE-TOKEN: <your_access_token>" "https://gitlab.example.com/api/v4/projects/1/artifacts"

Remove artifacts from CI manually Archive du 28/02/2017 le 19/11/2024

Python

Utiliser GitPython] et sa [[https://gitpython.readthedocs.io/en/stable/|documentation.

gl = Gitlab(url=GITLAB_URL, private_token=GITLAB_TOKEN)
gl.auth()
project_docker_ci = gl.projects.get(PROJECT_DOCKERCI_ID)
pipeline_docker_ci = project_docker_ci.pipelines.create({"ref": REF_DOCKERCI_ID})
jobs_docker_ci = pipeline_docker_ci.jobs.list(get_all=True)
# Restart all jobs
for job in jobs_docker_ci:
  real_job = project_docker_ci.jobs.get(job.id)
  real_job.refresh()
  print(f"Starting {real_job.name} with previous status {id.status}")
  real_job.play()

Et pour le typage:

from gitlab.v4.objects import ProjectJob
prog/gitlab.1764587324.txt.gz · Dernière modification : de root