如何 publish/deploy 一个 npm 包到自定义工件
How to publish/deploy a npm package to custom artifactory
我想做这样的事情:
- 创建一个 npm 包。基本上,我想将其用于所有项目的通用代码。这是我创造的。
- 但现在我想要的是,每次我在 git 中为这个项目提交一些东西时,Jenkins 应该使用更新的 alpha/beta 版本构建它并且应该发布到我自己的工件。
您的 Jenkins 作业可以配置为由 webhook 触发,这将处理第一部分(每次我提交时)。根据您使用的 Git 服务器,您可以找到很多教程:
请注意,这只是随机选择的教程,如何设置 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/
我想做这样的事情:
- 创建一个 npm 包。基本上,我想将其用于所有项目的通用代码。这是我创造的。
- 但现在我想要的是,每次我在 git 中为这个项目提交一些东西时,Jenkins 应该使用更新的 alpha/beta 版本构建它并且应该发布到我自己的工件。
您的 Jenkins 作业可以配置为由 webhook 触发,这将处理第一部分(每次我提交时)。根据您使用的 Git 服务器,您可以找到很多教程:
请注意,这只是随机选择的教程,如何设置 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/