如何解决JFrog Artifactory发布与部署
我有一个Artifactory服务器(服务)。我在那里建立了用于托管Unity软件包的本地存储库。我想出了如何设置Unity Package Manager可以看到的作用域包。一切都很好。我唯一的问题是工件的命令行部署。从我阅读的内容来看,我似乎需要使用“ npm publish”进行部署。当我在已有的tarball文件(打包文件)中将npm称为“发布”时,它不会上载(部署)到服务器。我必须使用网络界面手动上传。该命令本身不会失败-它会打印出文件,版本,名称等列表,并以类似这样的结尾
<package name>@x.x.x
如果不是上载(部署)软件包的方式,那么(npm)publish命令的意义是什么?在不使用网络界面的情况下将软件包上传到Artifactory的正确方法是什么?
顺便说一句,我从本教程开始:Medium Article。当我在本地运行publish命令时,我会得到类似的输出,因此似乎应该为我上传程序包,但事实并非如此。另一个注意事项:我确实使用了作用域软件包-我使用了Artifactory和该教程提供的所有说明。我在任何地方都没有错误。我发布时什么也没发生。
有什么建议吗?
编辑: 这是我运行的命令:
npm publish <packagename>.x.x.x.tgz --registry http://<server>artifactory/api/npm/unity_packages/<scope>
我看到了这个线程thread,但是我宁愿不使用curl(我必须在各种机器上复制此设置,所以移动部件较少对我来说更好),而且它也很老,所以我想有一种更新/更好的部署方式。
Edit2:我也可以使用Web UI部署“ npm install”软件包,所以我认为这不是权限问题。
Edit3:示例输出:
npm publish --registry http://artifactory.ops.aws.somecompany.net/artifactory/api/npm/unity_packages/
npm notice
npm notice ? @com.somecompany/com.somecompany.dependencypackageproject@0.1.207
npm notice === Tarball Contents ===
npm notice 388B DependencyPackageProject.asmdef
npm notice 611B Source/Floater.cs
npm notice 1.1kB package_internal.json
npm notice 1.1kB package.json
npm notice 2.1kB Material/FloaterMaterial.mat
npm notice 166B DependencyPackageProject.asmdef.meta
npm notice 155B Scenes/DPP_SampleScene.unity.meta
npm notice 243B Source/Floater.cs.meta
npm notice 182B Material/FloaterMaterial.mat.meta
npm notice 154B Prefabs/FloaterPrefab.prefab.meta
npm notice 172B Material.meta
npm notice 158B package_internal.json.meta
npm notice 158B package.json.meta
npm notice 172B Prefabs.meta
npm notice 172B Scenes.meta
npm notice 172B Source.meta
npm notice 4.0kB Prefabs/FloaterPrefab.prefab
npm notice 10.3kB Scenes/DPP_SampleScene.unity
npm notice === Tarball Details ===
npm notice name: @com.somecompany/com.somecompany.dependencypackageproject
npm notice version: 0.1.207
npm notice package size: 5.5 kB
npm notice unpacked size: 21.4 kB
npm notice shasum: 77188f8f599877d7a6a41bbcb1800057a3fe1646
npm notice integrity: sha512-vbtkwkiEacQl/[...]dPb8xlhO36odg==
npm notice total files: 18
npm notice
+ @com.somecompany/com.somecompany.dependencypackageproject@0.1.207
解决方法
要使用npm客户端将有范围的npm软件包发布到Artifactory,您需要:
(1)确保按照npm documentation
中的说明,将您的软件包创建为有作用域的软件包。
(2)通过更新您的 .npmrc 配置文件,将相关的Artifactory npm存储库(例如npm-local)与您正在使用的范围相关联。该文件还应包含认证信息。
您可以按照Artifactory documentation中的说明进行操作。您的 .npmrc 文件应类似于以下内容:
@drorb:registry=http://localhost:8081/artifactory/api/npm/npm-local/
//localhost:8081/artifactory/api/npm/npm-local/:_password=*********
//localhost:8081/artifactory/api/npm/npm-local/:username=drorb
//localhost:8081/artifactory/api/npm/npm-local/:email=*****@gmail.com
//localhost:8081/artifactory/api/npm/npm-local/:always-auth=true
(3)例如,使用npm publish命令
npm publish craftyjs-npm-example-1.0.0.tgz --registry http://localhost:8081/artifactory/api/npm/npm-local/
发布命令的输出应类似于
npm notice
npm notice ? @drorb/craftyjs-npm-example@1.0.0
npm notice === Tarball Contents ===
npm notice 662B package.json
npm notice 587B .npmignore
npm notice 116B README.md
npm notice 195B game.js
npm notice === Tarball Details ===
npm notice name: @drorb/craftyjs-npm-example
npm notice version: 1.0.0
npm notice package size: 1.6 kB
npm notice unpacked size: 1.6 kB
npm notice shasum: 8ee8bdbfac6ae92fcdcdc7441793671ce59a3584
npm notice integrity: sha512-4DA3LCwO+vuCo[...]FYPGTtxOrg6UQ==
npm notice total files: 4
npm notice
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。