我正在尝试使用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步骤正常运行。但在第3步抛出错误。这绝对与使用Sinopia服务器验证Team City服务器有关。两者都安装在不同的机器上。
在发布包裹之前,我有什么方法可以将auth token
传递给sinopia。
注意:我可以将NPM包发布到Octopus Deploy
库,并自动将这些包部署到服务器中。
答案 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}