作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
本质上,我需要一种方法来为我的应用程序注入(inject)环境变量,因为我不想将 .env 文件 checkin 我的存储库。我希望运行类似 API_URL=api.example.com npm run build
的东西,但看起来你不能在任务命令之前添加东西。
有没有办法做到这一点,或者是否有更好的方法来为托管在 Azure 中的 Node 应用程序创建环境变量?
最佳答案
您可以将一些构建变量添加到构建定义中,然后在构建步骤中的某处引用这些变量。例如,为您的 API_URL
添加一个具有相同名称和值的构建变量。如果出于任何原因(密码等)需要变量保密,只需单击值字段旁边的锁图标即可。
然后将一个新的 cmd 任务添加到您的构建中,并将其移动到顶部以在开始构建之前设置您的环境变量。引用构建变量的方式是这样的......
set API_URL=$(Build.API_URL)
在 UI 中它看起来像这样:
我在测试版本中添加了两个 cmd 任务,只是为了证明它正在运行。第一个用于设置环境变量,然后我使用第二个来转储所有环境变量,以便我可以看到它们。您可以在构建日志中看到它有效。
如果您想使用命令行以外的方式引用构建变量,您可以找到引用构建变量的不同方式的示例 here .该页面上还有如何使用 secret 变量的示例。
编辑:
由于您担心它在您的 Node 应用程序中不可用,我很快就在控制台中对其进行了测试,以证明它肯定会起作用。
关于node.js - 有没有办法为 VSTS CI npm 任务提供环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49578709/
我是一名优秀的程序员,十分优秀!