我正在尝试在 Azure DevOps 中创建一个管道来构建和部署静态网页。我已成功使用以下管道配置构建和发布工件:
- task: PublishBuildArtifacts@1
displayName: Publish Build Artifacts
inputs:
PathtoPublish: './app/public'
ArtifactName: 'website'
publishLocation: 'Container'
- task: AzureKeyVault@2
inputs:
azureSubscription: ${{ variables.AZURE_SUBSCRIPTION }}
KeyVaultName: 'xx-keyvault'
SecretsFilter: 'XX-XX-XX'
- script: |
# Set the secret value as an environment variable
export AZURE_STORAGE_CONNECTION_STRING=$(XX-XX-XX)
- task: DownloadBuildArtifacts@0
displayName: 'Download Build Artifacts'
inputs:
buildType: 'current'
downloadType: 'single'
artifactName: 'website'
downloadPath: $(Pipeline.Workspace)/artifacts
- script: |
az storage blob upload-batch --destination XXX --source $(Pipeline.Workspace)/artifacts
displayName: 'Upload to Azure Storage'
env:
AZURE_STORAGE_CONNECTION_STRING: $(AZURE_STORAGE_CONNECTION_STRING)
但是,在发布构建工件后,我并不完全确定如何继续部署过程。我已经使用 Azure DevOps 发布管道实现了类似的流程,但现在我想在同一管道中实现相同的结果。任何关于如何从现在开始继续的建议或指导将不胜感激。
主要目标是将静态 Web 部署到 Azure 存储帐户,而不依赖于 Azure DevOps 发布管道。预先感谢您的协助!
使用 AzureFileCopy@4 任务代替 AZ CLI 脚本
例如
- task: AzureFileCopy@4
inputs:
SourcePath: $(Pipeline.Workspace)/artifacts/*
azureSubscription: ${{ variables.AZURE_SUBSCRIPTION }}
Destination: 'AzureBlob'
storage: myFileStorage
ContainerName: 'myContainer001'