Je suis en train de configurer un nouveau pipeline Azure DevOps pour ma webapp. Je peux voir que les artefacts de construction sont enregistrés dans un chemin appelé $ Build.ArtifactStagingDirectory
. Où cette variable de chemin pointe-t-elle et combien de temps puis-je accéder à mon artefact?
De plus, les versions d'Azure DevOps (gardent-elles une trace de tous les artefacts créés au fil du temps) les artefacts créés? Si non, comment versionner mes artefacts de construction?
3 Réponses :
Vous devez publier artefacts utilisant la tâche car par défaut ils ne sont pas publiés. Si vous utilisez yaml, ajoutez simplement
# Publish Build Artifacts # Publish build artifacts to Azure Pipelines/TFS or a file share - task: PublishBuildArtifacts@1 inputs: #pathtoPublish: '$(Build.ArtifactStagingDirectory)' #artifactName: 'drop' #publishLocation: 'Container' # Options: container, filePath #targetPath: # Required when publishLocation == FilePath #parallel: false # Optional #parallelCount: # Optional
Il y a une configuration pour combien de temps conserver ces artefacts dont je me souviens par défaut sont 30 jours et 3 ou 5 dernières versions
Merci @ volodymyr-bilyachat. Pourriez-vous s'il vous plaît expliquer où se trouve ce chemin (Build.ArtifactStagingDirectory)?
@LeoVarghese cet emplacement est sur ce serveur qui exécute votre build, c'est pourquoi vous devez publier ce dossier pour qu'il soit disponible comme artefacts
Dans l'agent, il y a 3 dossiers: a
, b
et s
. La variable $ (Build.ArtifactStagingDirectory)
pointe vers le dossier a
( a rtifacts), le chemin est donc c: \ agent \ _work \ 1 \ a
(si l'emplacement de l'agent est c: \ agent
, le 1
peut également être un autre numéro, en fonction du nombre de builds, ce nombre est incrémentiel).
Les artefacts n'y sont pas enregistrés! lorsque vous créez le code, tout le code et les artefacts existent dans le dossier s
( s ources), la meilleure pratique consiste à copier uniquement les artefacts dans le dossier a < / code> puis utilisez la tâche «Publier les artefacts de build», dans cette tâche, vous prenez les artefacts du dossier
a
et les placez sur le stockage Azure DevOps ou dans votre partage de fichiers (si agent).
À partir du stockage / partage de fichiers Azure DevOps, les artefacts existent conformément à votre stratégie de rétention.
Si vous enregistrez les artefacts dans Azure DevOps, vous pouvez accéder à vos artefacts à partir de la page de résumé de compilation ou créer un pipeline de versions. si vous les enregistrez dans un partage de fichiers, vous pouvez simplement y accéder ou dans le pipeline de publication.
ou dans votre partage de fichiers (si vous utilisez un agent auto-hébergé)
, vous devez utiliser tâche de copie de fichier
pour mettre l'artefact sur le partage de fichiers. Par défaut, la tâche publier un artefact
fait de même pour les agents hébergés ou privés
Vous pouvez contrôler combien de jours vous souhaitez conserver chaque build (par défaut 30 jours) avant de le supprimer (voir Créer et publier des stratégies de rétention a >). Lorsqu'une compilation est supprimée, les artefacts publiés sont également supprimés.
Pour la version de vos artefacts de build, vous pouvez utiliser le numéro de build qui en assurera le suivi.
L'endroit vers lequel pointe $ Build.ArtifactStagingDirectory
dépend de l ' emplacement de publication que vous choisissez. Voir Artefacts dans Azure Pipelines