Lugar para compartir información interesante con mis amigos.

Wednesday, July 05, 2023

Cómo es un pipeline y un release Devops para desplegar una Azure Function en Azure

Para desplegar en Azure, normalmente se tienen dos artefactos en Azure DevOps: un Pipeline para construir el artefacto y un Release para desplegarlo en un recurso:

El proyecto, debe disponer de un archivo pom.xml de maven y allí, contar con un goal: package. Para este ejemplo, el nombre de la aplicacion será "facel-validator".

Pipeline

El pipeline cuenta con tres pasos: 
  1. La ejecución del maven.
  2. La construcción del zip
  3. La publicación del zip
El pipeline se vería como sigue:

# Maven
# Build your Java project and run tests with Apache Maven.
# Add steps that analyze code, save build artifacts, deploy, and more:
# https://docs.microsoft.com/azure/devops/pipelines/languages/java

trigger:
- master

pool:
  vmImage: ubuntu-latest

steps:
- task: Maven@3
  inputs:    
    mavenPomFile: 'pom.xml'
    mavenOptions: '-Xmx3072m'
    jdkDirectory: '$JAVA_HOME_17_X64'
    javaHomeOption: 'JDKVersion'
    jdkVersionOption: '1.17'
    jdkArchitectureOption: 'x64'
    publishJUnitResults: true
    testResultsFiles: '**/surefire-reports/TEST-*.xml'
    goals: 'package'
- task: ArchiveFiles@2
  inputs:
    rootFolderOrFile: '$(system.defaultworkingdirectory)/target/azure-functions/facel-validator'
    includeRootFolder: false    
    archiveType: 'zip'
    archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
    replaceExistingArchive: true
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'


Release

El Release se hace con la plantilla normal para desplegar functions, indicando que se va a usar el stack de java y versión:



0 comments:

Popular Posts

Pedro Rozo. Powered by Blogger.