gpt4 book ai didi

azure - 在 Azure Devops 上的 cURL 请求中使用环境变量

转载 作者:行者123 更新时间:2023-12-02 23:18:28 25 4
gpt4 key购买 nike

我正在尝试使用 Azure DevOps 上的 cURL 通过命令行任务将 zip 文件上传到 Netlify。

显然我不想在 yaml 文件中包含 Netlify 访问 token ,因此我为其创建了一个 secret 变量(使用 UI 设计器)并使用 docs 中的语法映射它。 。

但是我不断收到来自 Netlify 的 401 回复。我可以通过 POSTMAN 确认访问 token 有效。所以我不确定我在这里做错了什么。我在请求中是否错误地使用了环境变量?

这是 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"}` 

编辑:

下面是我设法使用 docs 中的“输入宏”语法使其工作后的完整 YAML 文件。

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'

最佳答案

您需要使用 bash 语法来检索环境变量,而不是 powershell(因为您使用的是 bash,而不是 powershell):

-H "Authorization: Bearer $ACCESS_TOKEN"

我还怀疑您需要更新您的 env 声明:

env: 
ACCESS_TOKEN: $(netlifyAccessToken) << ADO token to replace with variable from build scope
SITE_ID: $(netlifySiteId)

关于azure - 在 Azure Devops 上的 cURL 请求中使用环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53962581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com