"npm publish" 不在 Team City 工作

"npm publish" not working in Team City

我正在尝试使用 Team City CI 进行 运行 测试并将 NPM 包发布到本地 sinopia 存储库。我在服务器上设置了 sinopia 存储库,我可以使用本地计算机上的 npm publish 命令成功地将 npm 包发布到该存储库。

但是当我尝试在 Team City 中自动执行此操作时,出现如下所示的身份验证错误。

Team City Build 步骤是:

1.  npm install
2.  npm test
3.  npm set @scoped:registry http://{host}:{port}
    npm publish

1、2 个步骤 运行ning 没问题。但在第 3 步抛出上述错误。这肯定与使用Sinopia服务器验证Team City服务器有关。两者安装在不同的机器上。

有什么方法可以在发布包之前将 auth token 传递给 sinopia

注意:我可以将 NPM 包发布到 Octopus Deploy 库并自动将这些包部署到服务器。

我按照下面的说明解决了,不知道有没有更好的方法。

我登录到我的 DEV 服务器并从命令提示符我 运行 下面的命令。

npm adduser
typed <username>  This must be admin user
typed <password>
typed <email>

用户创建成功。然后

npm config edit
npm configuration will open in notepad. You will see `auth` token there.

您会看到类似 _authToken=f04c81af-781d-4fc3-a811-4db226950b55 的内容。 之后Team city就没有抱怨认证了。

注意:您必须在 Team City Agent 机器上执行此操作。

希望这对您有所帮助。

 npm publish --registry //domain.com/repository/:_authToken=${CI_NPM_TOKEN}

或 Nexus

npm publish --registry //domain.com/repository/some-npm-repositury/:_authToken=NpmToken.${CI_NPM_TOKEN}