Azure Devops处理Yaml中的特殊字符

时间:2018-09-28 00:05:49

标签: azure-devops

我对Azure Devops yaml脚本有问题,因为它无法正确提取我的变量来构建我的ReactJS项目。以下是脚本,但是以某种方式在git push上构建失败,并且用户名没有被获取

pool:
  vmImage: 'Ubuntu 16.04'

steps:
- task: NodeTool@0
  inputs:
    versionSpec: '9.8.0'
  displayName: 'Install Node.js'

- script: |
    npm install --no-save
    npm run build
    git push https://"$(azure.Username)":$(azure.Password)@$(azure.AppName).scm.azurewebsites.net:443/$(azure.AppName).git master
  displayName: 'npm install and build'

2 个答案:

答案 0 :(得分:0)

按照下面的yml文件的解决方案,您可以将变量设置为带有“ $”符号。另一个更好的方法是使用Azure DevOps本身中的步骤。

image: node:9.8.0
clone:
  depth: full
pipelines:
  default:
    - step:
        script:
          - npm install --no-save
          - npm run build
          - git push https://$AZURE_LOGIN:$AZURE_PASSWORD@$AZURE_APP_NAME.scm.azurewebsites.net:443/$AZURE_APP_NAME.git master

答案 1 :(得分:0)

正确答案是将变量用单引号括起来,例如:'$(myVariable)'。这可以防止 yaml 解析器解析变量的内容