240 votes

Comment passer des artefacts à une autre étape?

Je voudrais utiliser GitLab CI avec le .gitlab-ci.fichier yml pour exécuter les différentes étapes avec des scripts séparés. La première étape produit un outil qui doit être utilisé dans une étape ultérieure pour effectuer des tests. J'ai déclaré l'généré outil comme artefact.

Maintenant, comment puis-je exécuter cet outil à un stade ultérieur de l'emploi? Qu'est-ce que le chemin d'accès correct, et quels fichiers aura-t-il autour de lui?

Par exemple, la première étape s'appuie artifacts/bin/TestTool/TestTool.exe et ce répertoire contient d'autres fichiers Dll (et d'autres). Mon .gitlab-ci.fichier yml ressemble à ceci:

releasebuild:
  script:
    - chcp 65001
    - build.cmd
  stage: build
  artifacts:
    paths:
      - artifacts/bin/TestTool/

systemtests:
  script:
    - chcp 65001
    - WHAT TO WRITE HERE?
  stage: test

La construction et les tests s'exécutent sur Windows si c'est pertinent.

190voto

user1495793 Points 391

Vous devez utiliser le dependencies:

Avec cette étape de test de configuration téléchargera les fichiers non suivis qui ont été créés pendant la phase de construction:

 build:
  stage: build
  artifacts:
    untracked: true
  script:
    - ./Build.ps1

test:
  stage: test
  dependencies: 
    - build
  script:
    - ./Test.ps1
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X