“npm发布”不在Team City工作

时间:2016-09-13 09:18:00

标签: node.js npm teamcity-9.0 sinopia

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

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

enter image description here

Team City Build步骤是:

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

1,2步骤正常运行。但在第3步抛出错误。这绝对与使用Sinopia服务器验证Team City服务器有关。两者都安装在不同的机器上。

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

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

2 个答案:

答案 0 :(得分:1)

我解决了它,如下所述,不确定是否有更好的方法。

我登录了我的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 Agent计算机上执行此操作。

希望这有帮助。

答案 1 :(得分:0)

version = "None"
version_tuple = (0, 0, 0, "None", "None")

或 Nexus

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