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.

Cómo consumir artefactos publicados por la canalización de CI en la canalización de CD.

Tengo tuberías de CI y CD utilizando Azure DevOps para un proyecto frontal de Angular. Ambas son tuberías separadas.

Aquí está el archivo YAML para la tubería de CI que produce el artefacto publicado: output_final.zip. La siguiente tubería aprovecha las canalizaciones de Azure para generar el artefacto publicado.

Node.js con Angular

Construya un proyecto de Node.js que use Angular.

Agregue pasos que analicen el código, guarden artefactos de construcción, implementen y más:

https://learn.microsoft.com/azure/devops/pipelines/languages/javascript

desencadenante:
– integración

grupo:
vmImage: ubuntu-latest

pasos:
– tarea: Tool de Node@0
entradas:
versionSpec: ’14.x’
displayName: ‘Instalar Node.js’
– powershell: |
$buildNumber=”$(Build.BuildNumber)”
echo $buildNumber > src/version.txt
– script: |
npm install -g @angular/cli
npm install
ng build –prod
displayName: ‘npm install y build’

  • tarea: CopyFiles@2
    displayName: ‘Copiar archivos de la UI’
    entradas:
    SourceFolder: ‘dist/source’
    TargetFolder: ‘$(Build.ArtifactStagingDirectory)/output’
    OverWrite: true
  • tarea: ArchiveFiles@2
    displayName: ‘Archivar’
    entradas:
    rootFolderOrFile: ‘$(Build.ArtifactStagingDirectory)/output/’
    includeRootFolder: false
    archiveFile: ‘$(Build.ArtifactStagingDirectory)/output/output_final.zip’
  • tarea: PublishBuildArtifacts@1
    displayName: ‘Publicar artefacto’
    entradas:
    PathtoPublish: ‘$(Build.ArtifactStagingDirectory)/output/output_final.zip’
    ArtifactName: drop

Ahora tengo una tubería de CD separada que aprovecha un agente privado alojado por sí mismo. En esta tubería de CD, quiero consumir artefactos publicados por la tubería de CI en la tubería de CD.

¿Alguien puede ayudarme a saber cómo consumir artefactos publicados por la tubería de CI y usarlos en la tubería de CD con algún ejemplo de YAML de muestra?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Puede consumir los artefactos publicados por la tubería de CI en la tubería de CD utilizando la tarea Download Pipeline Artifact. Aquí hay un ejemplo de archivo YAML para la tubería de CD:

    trigger:
    - integración
    
    pool:
      vmImage: ubuntu-latest
    
    steps:
    - task: DownloadPipelineArtifact@2
      inputs:
        artifactName: 'drop'
        downloadPath: '$(System.ArtifactsDirectory)'
        project: ''
        pipeline: ''
        runVersion: ''
        sourceAlias: ''
      displayName: 'Descargar Artefacto de Tubería'
    - script: |
        unzip $(System.ArtifactsDirectory)/output_final.zip -d $(System.ArtifactsDirectory)/output
      displayName: 'Descomprimir Artefacto'
    - script: |
        cd $(System.ArtifactsDirectory)/output
        npm install
        ng serve
      displayName: 'Ejecutar Aplicación Angular'
    

Comments are closed.