Comment spécifier les sous-répertoires d'artéfacts de Joker.gitlab-ci.yml?
J'utilise GitLab CI pour construire une solution C# et essayer de passer quelques artefacts de construction d'une étape à l'autre.
 le problème est que les artefacts ne sont pas localisés dans un seul répertoire mais dans des sous-répertoires différents, qui ont cependant tous les mêmes noms bin/ ou obj/ .  
  Mon  .gitlab-ci.yml  ressemble à ce qui suit:  
...
stages:
  - build
  - test
build:
  stage: build
  script:
    CALL %MSBuild% ...
  artifacts:
    paths:
      - /**/bin/
      - /**/obj/
    expire_in: 6 hrs
test:
  stage: test
  dependencies:
    - build
  ...
  
  j'ai essayé de capturer les artéfacts en utilisant différents voies, p.ex.
**/bin/
**/obj/
  
  (syntaxe non valide), ou
.*/bin/
.*/obj/
  
    mais qu'on n'a pas trouvé d'artefacts, tout comme  /**/bin/  et  /**/obj/  , me donnant les erreurs suivantes:  
Uploading artifacts...
WARNING: /**/bin/: no matching files
WARNING: /**/obj/: no matching files
  
  Comment puis-je spécifier un motif de sous-répertoire à balayer à la recherche d'artefacts? Ou est-ce même possible?
utilisation simple
artifacts:
  untracked: true
  
    n'est pas une option, à cause d'un énorme sous-répertoire  packages/  non suivi, qui fait échouer le téléchargement d'artefacts à cause d'une archive trop grande:  
Uploading artifacts...
untracked: found 4513 files                        
ERROR: Uploading artifacts to coordinator... too large archive  id=36 responseStatus=413 Request Entity Too Large token=...
FATAL: Too large
  
                1 réponses
le gitlab-ci-multi-runner build runner est construit en utilisant Go et utilise actuellement filepath.Glob () pour rechercher tout artefact spécifié dans file_archiver.allez .
  Go ne semble pas soutenir l'expression double étoile glob comme discuté dans une autre question    ici    à SO. Donc    il semble qu'il n'y ait aucun moyen d'utiliser un   **/bin  expression à l'instant    .  
parce que cependant tous mes projets sont situés au même niveau sous la solution root, il est encore possible d'utiliser quelque chose comme
artifacts:
  paths:
    - "*/bin"
    - "*/obj"
  
   notez que les guillemets ( " ) semblent nécessaires, ainsi que  Non   séparateur de sillon de fuite à la fin.  
Il devrait également être possible d'ajouter explicitement plus de niveaux en ajoutant plus d'expansion expressions (comme décrit ici ):
paths:
  ...
  - "*/obj"
  - "*/*/bin"
  - "*/*/obj"
  ...