将Azure DevOps管道变量传递到package.json文件

时间:2019-09-05 19:06:52

标签: azure-devops azure-pipelines package.json cypress

我想将Azure管道连接到我的应用程序,并使用cypress在无头模式下运行测试,并且我需要将Azure DevOps变量(这是我的cypress记录密钥)传递给我的package.json。如何正确传递变量?

我尝试创建Azure变量,在.yml中传递它,并在package.json中接收

这是我的.yml脚本部分:

    npm run test:e2e:headless:record $(RECORD_KEY)
  displayName: 'Run Cypress tests headless'

这是我的package.json脚本部分:

"test:e2e:headless:record": "vue-cli-service test:e2e --headless --record --key RECORD_KEY"

我的天青作业在此行中失败,这意味着我的package.json没有收到RECORD_KEY变量: test:e2e:headless:record: vue-cli-service test:e2e --headless --record --key RECORD_KEY

1 个答案:

答案 0 :(得分:0)

为什么不使用Replace Token task将变量值传递给Package.json文件?

在package.json中,以@@RECORD_KEY@@格式编写变量:

"test:e2e:headless:record": "vue-cli-service test:e2e --headless --record --key @@RECORD_KEY@@

这是我的package.json文件的屏幕截图:

enter image description here

然后,在替换令牌任务中,配置将被替换为令牌的文件路径和文件:

enter image description here

enter image description here

注意,如果变量不是预定义的变量,请不要忘记在“变量”选项卡中配置该值。

enter image description here

然后,在本地日志中执行管道,您将看到该值已成功传递:

enter image description here