如何将 npm 包发布/部署到自定义工件

Posted

技术标签:

【中文标题】如何将 npm 包发布/部署到自定义工件【英文标题】:How to publish/deploy a npm package to custom artifactory 【发布时间】:2019-10-15 00:53:05 【问题描述】:

我想做这样的事情:

    创建一个 npm 包。基本上,我想在我的所有项目中使用一个通用代码。我创建的。 但现在我想要的是,每次我在 git 中为这个项目提交一些东西时,Jenkins 都应该使用更新的 alpha/beta 版本构建它,并且应该发布到我自己的工件。

【问题讨论】:

【参考方案1】:

您的 Jenkins 作业可以配置为由 webhook 触发,这将负责第一部分(每次我提交时)。根据您使用的 Git 服务器,您可以找到很多教程:

For GitHub For GitLab For Gogs

请注意,这只是随机选择的如何设置 webhook 触发器以与 Git 服务器一起使用的教程,绝不是详尽的列表

要将您的包发布到 JFrog Artifactory,您可以使用 Jenkins Artifactory 插件,或使用 NPM 命令行。如果要使用npm 命令行,则需要先进行身份验证:

# setting the default registry to Artifactory
npm config set registry http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/npm-repo/
# log in
npm login

或者,您可以使用以下命令直接从 Artifactory 获取 .npmrc 文件:

curl -u admin:<CREDENTIAL> http://<ARTIFACTORY_SERVER_DOMAIN>:8081/artifactory/api/npm/auth

之后,您可以通过两种方式将包推送到 Artifactory:

编辑您的 package.json 文件并将 publishConfig 部分添加到本地存储库:"publishConfig":"registry":"http://localhost:8081/artifactory/api/npm/npm-repo/" 为 npm 发布命令提供本地存储库:npm publish --registry http://localhost:8081/artifactory/api/npm/npm-repo/

【讨论】:

您能否编辑您的 curl 命令以在 -uadmin 之间留一个空格? @RyanMendoza 绝对!我已经添加了空间。

以上是关于如何将 npm 包发布/部署到自定义工件的主要内容,如果未能解决你的问题,请参考以下文章

Opsworks 部署到自定义层

如何将R包安装到自定义路径

如何使用像filezilla这样的ftp服务器将没有vercel的下一个js应用程序部署到自定义服务器

将包安装到自定义目录 Composer

在 docker 环境中成功 CI 后如何部署到自定义服务器?

你如何在 sbt 中编写任务?