Azure Pipelines - 需要等效的 Az DevOps 命令
Azure Pipelines - Equivalent Az DevOps Commands Required
我已成功使用以下命令在 Powershell ISE 中更新我们的 Azure DevOps 项目维基。
$etagVar = (az devops wiki page show --org https://dev.azure.com/[MyOrg] --project [MyProjectName] --path '/MyWiki/HelloWorld' --wiki [MyWiki_wiki] --query eTag -o tsv)
az devops wiki page update --path 'MyWikiPath/HelloWorld' --wiki [MyWiki_wiki --content "Yessssss, it worked !!!" --version $etagVar
我现在需要将这两个命令合并到 YAML Azure Pipeline 中。无论是使用 Bash、PowerShell、Windows 批处理脚本还是与此相关的任何 Azure 管道任务,我都不会特别在意。只要能用,我一点都不嫌弃
到目前为止,我已经尝试了一项 Bash 任务,但非常失败。因此,我们将不胜感激任何建议或想法。
你只需 运行 使用 PowerShell 就像你的 运行 它在你的 PC 中一样,你只需要进行身份验证(使用 env
):
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
$etagVar = (az devops wiki page show --org https://dev.azure.com/shaykia --project GitSample --path '/README' --wiki 1 --query eTag -o tsv)
az devops wiki page update --path 'MyWikiPath/HelloWorld' --wiki [MyWiki_wiki --content "Yessssss, it worked !!!" --version $etagVar
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
我可以使用 Bash task 让我的管道更新 Wiki。这是我的工作 YAML 定义:
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- bash: az devops configure --defaults organization=$(System.TeamFoundationCollectionUri) project=$(System.TeamProject) --use-git-aliases true
displayName: 'Set default Azure DevOps organization and project'
- bash: |
eTag=$(az devops wiki page show --wiki project.wiki --path '/MyWiki' --query eTag -o tsv)
az devops wiki page update --wiki project.wiki --path '/MyWiki' --content "Hello World!" --version $eTag
displayName: 'Update Wiki'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
关于身份验证,您可以使用 System.AccessToken security token used by the running pipeline, by assigning it to an environment variable named AZURE_DEVOPS_EXT_PAT
, as shown in the snippet above. For other examples, check this article: Azure DevOps CLI in Azure Pipeline YAML
进行身份验证
注意:您可能需要稍微调整一下 以让它更新 Wiki。
太棒了@Bhargavi Annadevara。在我昨天 post 的最后一个 post 之后,我简短地思考了一下,意识到我什至可能通过陈述 来回答我自己的问题“......我并不特别在意这是否是使用 Bash、Powershell、Windows 批处理脚本完成
那是因为我很快设法修改了我现有的命令并使用 Pipeline Powershell 任务(如下)实现了它,这实现了我的 objective。
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
$etagVar = (az devops wiki page show --org https://dev.azure.com/[OrgName] --project [TeamProjectName] --path '/[TeamProjectWiki_Path]' --wiki [WikiName] --query eTag -o tsv)
az devops wiki page update --path '[TeamProjectWiki_Path]' --wiki [WikiName] --content "Hello World....!!" --version $etagVar --verbose
displayName: 'Preparing to update the wiki page'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
很高兴我们至少有两个可行的选择。顺便也试试你的 Bash 实现。谢谢
我已成功使用以下命令在 Powershell ISE 中更新我们的 Azure DevOps 项目维基。
$etagVar = (az devops wiki page show --org https://dev.azure.com/[MyOrg] --project [MyProjectName] --path '/MyWiki/HelloWorld' --wiki [MyWiki_wiki] --query eTag -o tsv)
az devops wiki page update --path 'MyWikiPath/HelloWorld' --wiki [MyWiki_wiki --content "Yessssss, it worked !!!" --version $etagVar
我现在需要将这两个命令合并到 YAML Azure Pipeline 中。无论是使用 Bash、PowerShell、Windows 批处理脚本还是与此相关的任何 Azure 管道任务,我都不会特别在意。只要能用,我一点都不嫌弃
到目前为止,我已经尝试了一项 Bash 任务,但非常失败。因此,我们将不胜感激任何建议或想法。
你只需 运行 使用 PowerShell 就像你的 运行 它在你的 PC 中一样,你只需要进行身份验证(使用 env
):
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
$etagVar = (az devops wiki page show --org https://dev.azure.com/shaykia --project GitSample --path '/README' --wiki 1 --query eTag -o tsv)
az devops wiki page update --path 'MyWikiPath/HelloWorld' --wiki [MyWiki_wiki --content "Yessssss, it worked !!!" --version $etagVar
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
我可以使用 Bash task 让我的管道更新 Wiki。这是我的工作 YAML 定义:
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- bash: az devops configure --defaults organization=$(System.TeamFoundationCollectionUri) project=$(System.TeamProject) --use-git-aliases true
displayName: 'Set default Azure DevOps organization and project'
- bash: |
eTag=$(az devops wiki page show --wiki project.wiki --path '/MyWiki' --query eTag -o tsv)
az devops wiki page update --wiki project.wiki --path '/MyWiki' --content "Hello World!" --version $eTag
displayName: 'Update Wiki'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
关于身份验证,您可以使用 System.AccessToken security token used by the running pipeline, by assigning it to an environment variable named AZURE_DEVOPS_EXT_PAT
, as shown in the snippet above. For other examples, check this article: Azure DevOps CLI in Azure Pipeline YAML
注意:您可能需要稍微调整一下
太棒了@Bhargavi Annadevara。在我昨天 post 的最后一个 post 之后,我简短地思考了一下,意识到我什至可能通过陈述 来回答我自己的问题“......我并不特别在意这是否是使用 Bash、Powershell、Windows 批处理脚本完成
那是因为我很快设法修改了我现有的命令并使用 Pipeline Powershell 任务(如下)实现了它,这实现了我的 objective。
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
# Write your PowerShell commands here.
$etagVar = (az devops wiki page show --org https://dev.azure.com/[OrgName] --project [TeamProjectName] --path '/[TeamProjectWiki_Path]' --wiki [WikiName] --query eTag -o tsv)
az devops wiki page update --path '[TeamProjectWiki_Path]' --wiki [WikiName] --content "Hello World....!!" --version $etagVar --verbose
displayName: 'Preparing to update the wiki page'
env:
AZURE_DEVOPS_EXT_PAT: $(System.AccessToken)
很高兴我们至少有两个可行的选择。顺便也试试你的 Bash 实现。谢谢