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:
- La ejecución del maven.
- La construcción del zip
- 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:
Post a Comment