Я пытаюсь развернуть свой код node.js в приложении-функции Azure с помощью DevOps Azure.
Я создал следующий конвейер Azure DevOps с использованием YAML.
Проблема, с которой я сталкиваюсь, заключается в том, что на этапе развертывания мой конвейер не работает, поскольку он не может найти package
. Когда я просматриваю журналы, я полагаю, что во время операции очистки между заданиями / этапами папки очищаются. Я пытался использовать другие предопределенные переменные, такие как Build.ArtifactStagingDirectory
, но ни одна не работает.
trigger:
- master
variables:
azureServiceConnection: 'mySvcCon'
azureFuncApp: myFApp
stages:
- stage: Build_1
displayName: 'Build Stage'
jobs:
- job: build
displayName: 'Build Node.js app'
pool:
vmImage: 'Ubuntu-16.04'
steps:
- task: NodeTool@0
displayName: 'Install Node.js'
inputs:
versionSpec: '8.x'
- script: |
npm install
displayName: 'npm install and build'
- task: CopyFiles@2
displayName: 'Copy necessary files'
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)'
Contents: |
**/*
!.vscode/**/*
TargetFolder: '$(System.DefaultWorkingDirectory)/copied'
- task: PublishBuildArtifacts@1
displayName: 'Publish artifact'
enabled: true
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)/copied'
publishLocation: filePath
targetPath: '$(System.DefaultWorkingDirectory)/publish'
- stage: Deploy_2
displayName: 'Deploy Stage'
jobs:
- job: Deploy
displayName: 'Deploy to Function App'
pool:
vmImage: 'Ubuntu-16.04'
steps:
- task: AzureRMWebAppDeployment@4
displayName: 'AzureRM Function App deploy'
inputs:
ConnectionType: 'AzureRM'
ConnectedServiceName: $(azureServiceConnection)
WebAppKind: 'Function App'
WebAppName: $(azureFuncApp)
Package: '$(System.DefaultWorkingDirectory)/publish'
Как я могу поделиться своим артефактом между этапами? Один и тот же конвейер работает, если я добавлю все шаги в одну и ту же работу. Но я хочу выделить их.