Я пытаюсь загрузить zip-файл в Netlify с помощью задачи командной строки, используя cURL в Azure DevOps.
Очевидно, я не хочу, чтобы мой токен доступа Netlify был в файле yaml, поэтому яМы создали для него секретную переменную (с помощью дизайнера пользовательского интерфейса) и сопоставили ее с помощью синтаксиса в docs .
Однако я продолжаю получать 401 от Netlify.Я могу подтвердить через POSTMAN, что токен доступа действителен.Так что я не уверен, что я делаю не так здесь.Я неправильно использую переменные env в запросе?
вот часть файла YAML, которая касается загрузки файла.
- script: >-
curl
-H 'Authorization: Bearer $env:ACCESS_TOKEN'
-H 'Content-Type: application/zip'
--data-binary '@$(Build.BuildId).zip'
https://api.netlify.com/api/v1/sites/$env:SITE_ID/deploys
workingDirectory: '$(Build.ArtifactStagingDirectory)'
displayName: 'Upload to Netlify'
env:
ACCESS_TOKEN: $netlifyAccessToken
SITE_ID: $netlifySiteId
Ответ от Netlify:
{"code":401,"message":"Access Denied: Origin returned bad status 401"}`
РЕДАКТИРОВАТЬ:
Ниже приведен полный файл YAML после того, как мне удалось заставить его работать, используя синтаксис 'input-macro' из документов
trigger:
- master
pool:
vmImage: 'Ubuntu-16.04'
variables:
configuration: debug
platform: x64
steps:
- task: DotNetCoreInstaller@0
displayName: Install .NET Core SDK
name: install_dotnetcore_sdk
enabled: true
inputs:
packageType: 'sdk'
version: '2.2.101'
- script: dotnet tool install -g Wyam.Tool
displayName: Install Wyam
- script: wyam
displayName: Build Site
- task: ArchiveFiles@2
displayName: Zip Site
inputs:
rootFolderOrFile: '$(Agent.BuildDirectory)/s/output'
includeRootFolder: true
archiveType: 'zip'
archiveFile: '$(Build.ArtifactStagingDirectory)/$(Build.BuildId).zip'
replaceExistingArchive: true
- script: >-
curl
-H 'Authorization: Bearer $(netlifyAccessToken)'
-H 'Content-Type: application/zip'
--data-binary '@$(Build.BuildId).zip'
https://api.netlify.com/api/v1/sites/$(netlifySiteId)/deploys
workingDirectory: '$(Build.ArtifactStagingDirectory)'
displayName: 'Upload to Netlify'