Node.js
Node.js 构建运行程序允许运行 Node.js 工具,如 npm
、yarn
和 节点
。
参考 配置构建步骤 以获取常见构建步骤设置的描述。
目前,Node.js 步骤只能在 Docker / LXC 容器内运行。 请参考 容器包装器 获取关于可用的 Docker / Podman 设置的一般信息。
您可以定义当前构建步骤要使用的 Node.js 版本。 TeamCity 默认使用 node:lts
镜像,或者,如果您的项目中有一个 .nvmrc
文件,那么在创建构建步骤时,TeamCity 会自动从其中检测到镜像规格。
如果您的存储库中包含一个 package.json
文件,TeamCity 将自动检测所使用的框架,并建议添加相应的构建步骤。
note
如果 TeamCity 检测到对测试框架的依赖,它将提议在两个步骤中选择:通过该框架运行测试或使用一般的
test
命令。 要在 TeamCity 中显示结构化测试报告,请选择具有框架的步骤。
如果 TeamCity 检测到一个 .nvmrc
文件,它将自动使用其中指定的 node 版本。
在 Shell 脚本 字段中,输入此步骤中要执行的所有 Node.js 命令。
在构建过程中访问私有 npm 注册表(例如,下载包),您需要:
按照 此处 描述的方法配置一个 NPM Registry 连接。
在 Build Configuration Settings | Build Features中,添加一个 NPM Registry Connection 构建功能并选择新的连接,以便在此配置中使用。
因此,TeamCity 代理将在构建过程中在此注册表中进行身份验证。
note
请注意,TeamCity 只能访问允许自动化令牌的注册表。 如果您在 TeamCity 中的连接测试失败,请修改注册表设置。
除了此过程,您还可以让 TeamCity 从您的 JS 项目内的 .npmrc
文件解析一个令牌。 为了实现这个,按照指定在此文件中声明一个令牌变量 这里,然后在 TeamCity 中用访问令牌的值和 "密码" 类型创建一个 环境变量 NPM_TOKEN
。
warning
如果您的 NPM 注册表连接中配置了一个令牌,那么 TeamCity 将使用它来连接此注册表。 然而,存在一个已知问题,即 TeamCity 可能会使用在
.npmrc
文件中指定的令牌,而非连接设置中的令牌。 在我们的 our tracker 中查看此问题的解决方法。
感谢您的反馈!