【问题标题】:Pass Azure DevOps pipeline Variable to package.json file将 Azure DevOps 管道变量传递给 package.json 文件
【发布时间】:2019-09-05 19:06:52
【问题描述】:

我想将 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

【问题讨论】:

  • 为什么你的 yaml PRECORD_KEY 而你的 json RECORD_KEY?
  • 哦,对不起,这只是一个错字,它们的代码是一样的
  • 嗨,现在怎么样了?您现在可以成功地将变量传递给 json 文件吗?如果是,您可以accept the answer 这样其他 SO 用户将能够看到该解决方案是否有效。如果您仍然遇到一些问题,请发表评论,以便我们仍然可以为您提供帮助。

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


【解决方案1】:

为什么不使用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 文件的截图:

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

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

然后,执行管道,在你的本地日志中,你会看到传值成功:

【讨论】:

    猜你喜欢
    • 2020-11-30
    • 2022-06-29
    • 2023-02-06
    • 1970-01-01
    • 2019-04-30
    • 2020-02-24
    • 2022-01-03
    • 2021-02-18
    • 2021-12-07
    相关资源
    最近更新 更多