J'ai besoin de déployer une application ASP.NET CORE à Azure WebApp à l'aide d'Azure Devops.
J'ai le fichier YAML Azure-Pipelines Azure-Pipelines suivant:
trigger:
- master
variables:
buildConfiguration: 'Release'
buildPlatform: 'any cpu'
version: '0.2.0'
stages:
- stage: 'Stage1'
jobs:
# Previous Jobs like Build, Test, ...
- job: 'Publish'
pool:
vmImage: 'Ubuntu-16.04'
dependsOn: 'Test'
steps:
- task: DotNetCoreCLI@2
displayName: 'Publish'
inputs:
command: publish
publishWebProjects: false
projects: '**/*.csproj'
arguments: '--configuration $(BuildConfiguration) --output $(build.artifactstagingdirectory)'
zipAfterPublish: true
- task: PublishBuildArtifacts@1
displayName: 'Artifact'
inputs:
PathtoPublish: '$(build.artifactstagingdirectory)'
- task: AzureRmWebAppDeployment@4
displayName: 'Deploy'
inputs:
package: '$(build.artifactstagingdirectory)/App.Api.Zip'
azureSubscription: 'MyName.Azure'
appType: 'Web App On Windows'
webAppName: 'myname-api'
Cela fonctionne bien, mais j'aimerais utiliser le nouveau travail de déploiement .
J'ai supprimé la tâche "Déployer" et l'a ajouté comme un nouvel emploi de déploiement après le travail "Publier":
- deployment: DeployJob
dependsOn: 'Publish'
pool:
vmImage: Ubuntu-16.04
environment: production
strategy:
runOnce:
deploy:
steps:
- task: AzureRmWebAppDeployment@4
inputs:
package: '$(build.artifactstagingdirectory)/App.Api.Zip'
azureSubscription: 'MyName.Azure'
appType: 'Web App On Windows'
webAppName: 'myname-api'
Vous pouvez voir que le 'Azurermwebappdeployment @ 4' est le même qu'auparavant.
Mais maintenant, je reçois l'erreur suivante lorsque j'exécute le pipeline:
Download artifact to: /home/vsts/work/1/
Could not find any pipeline artifacts in the build.
Qu'est-ce que je rate? Comment régler ceci?
Essayez d'utiliser $ (pipeline.workspace) à la place.
[.____] Vous devriez aussi faire ce que @wenbo a écrit dans sa réponse, mais je pense que ce n'est pas nécessaire, la partie importante ici est $ (pipeline.workspace):
Par défaut, les fichiers sont téléchargés sur $ (pipeline.workspace)/{artifact}, où l'artefact est le nom de l'artefact. La structure de dossiers de l'artefact est toujours préservée.