es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Azure Pipelines – ¿Cuál es el propósito de publicar artefactos?

Soy un traductor de español que traduce documentos de TI. Traduzca lo siguiente al español. No traduzca el código y la salida en markdown.

Soy nuevo en Azure Pipelines y me preguntaba cuál es el propósito de publicar artefactos. Por ejemplo, tengo el código a continuación:

- tarea: ArchiveFiles@2
   entradas:
      rootFolderOrFile: '$ (Build.SourcesDirectory)'
      includeRootFolder: false
      archiveType: 'zip'
      archiveFile: '$ (Build.ArtifactStagingDirectory) / $ (Build.BuildId) .zip'
      replaceExistingArchive: true
      displayName: Archive files

- tarea: PublishBuildArtifacts@1
   entradas:
      pathToPublish: '$ (Build.ArtifactStagingDirectory) / $ (Build.BuildId) .zip'
      artifactName: 'drop'

- tarea: AzureFunctionApp@1
   entradas:
      azureSubscription: $ (azureSubscription)
      appType: 'functionAppLinux'
      appName: $ (appName)
      package: '$ (System.ArtifactsDirectory) / <em> */ </em> .zip'
      displayName: Deploy Azure Function

Lo que podría ser reemplazado por saltarse PublishBuildArtifacts:

- tarea: ArchiveFiles@2
   entradas:
      rootFolderOrFile: '$ (Build.SourcesDirectory)'
      includeRootFolder: false
      archiveType: 'zip'
      archiveFile: $(System.ArtifactsDirectory) / build $ (Build.BuildId) .zip
      replaceExistingArchive: true
      displayName: Archive files

- tarea: AzureFunctionApp@1
   entradas:
      azureSubscription: $ (azureSubscription)
      appType: 'functionAppLinux'
      appName: $ (appName)
      package: '$ (System.ArtifactsDirectory) / build $ (Build.BuildId) .zip'
      displayName: Deploy Azure Function

¿Cuál es mejor y por qué?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Si bien saltarse la tarea PublishBuildArtifacts puede ahorrar unos segundos en el tiempo de construcción, generalmente es mejor incluirlo por las siguientes razones:

    1. Los artefactos son una forma conveniente de almacenar y compartir las salidas de construcción entre etapas, trabajos y pipelines. Ahorra tiempo ya que las salidas de construcción no tienen que ser reconstruidas y empaquetadas cada vez que se necesitan.
    2. La tarea PublishBuildArtifacts permite una gestión más sencilla de los archivos de artefactos. Los archivos de salida pueden recibir un nombre significativo y almacenarse en una ubicación especifica. En el segundo bloque de código, el nombre del archivo de artefacto se llama build$(Build.BuildId).zip. Esto puede no ser intuitivo para otros usuarios del pipeline y puede causar confusión y errores en la gestión de los artefactos.
    3. La publicación de artefactos también permite escenarios más avanzados como la publicación en un feed de artefactos o el intercambio de artefactos entre construcciones, etapas e incluso pipelines. Al utilizar artefactos, las salidas de construcción pueden ser consumidas por otras construcciones de pipeline como entrada, lo que facilita la producción de un sistema de pipeline que construye software de manera modular.

    En conclusión, es mejor incluir la tarea PublishBuildArtifacts en la construcción del pipeline ya que proporciona una construcción más rápida y una forma más conveniente de almacenar, compartir y gestionar los archivos de salida de la construcción.

Comments are closed.