如何在JFrog Artifactory创建仓库并通过GitLab发布NPM包
将通用代码封装为NPM包并发布到JFrog Artifactory的完整流程
1. 在JFrog Artifactory创建专属NPM仓库
- 登录JFrog平台,进入Artifactory模块
- 点击「Create Repository」,选择「npm」类型,创建Local Repository(用于存储私有发布包)
- 填写仓库名称(比如
internal-npm-packages),配置权限(确保发布账号拥有Deploy权限) - 保存后复制仓库API URL,格式为:
https://<你的JFrog域名>/artifactory/api/npm/<仓库名称>/
2. 通过GitLab CI/CD发布NPM包
前置准备
- 在通用代码目录执行
npm init,完成package.json初始化,确认包名、版本号等信息无误 - 进入GitLab项目的「Settings > CI/CD > Variables」,添加以下加密变量:
JFROG_URL:上述复制的仓库API URLJFROG_USER:拥有发布权限的JFrog账号JFROG_PASSWORD:对应账号的密码或API Key
编写CI配置文件
在项目根目录创建.gitlab-ci.yml,内容如下:
stages: - publish publish: stage: publish image: node:18-alpine script: - npm config set registry $JFROG_URL - npm login --registry=$JFROG_URL --username=$JFROG_USER --password=$JFROG_PASSWORD --no-audit - npm publish only: - tags # 仅在打版本tag时触发发布,保证版本一致性
可选优化
在package.json中添加publishConfig字段,简化CI配置:
"publishConfig": { "registry": "https://<你的JFrog域名>/artifactory/api/npm/<仓库名称>/" }
3. 在业务项目中安装使用该包
临时安装(单次使用)
直接在install命令中指定JFrog仓库地址:
npm install <你的包名> --registry=https://<你的JFrog域名>/artifactory/api/npm/<仓库名称>/
全局配置(所有项目生效)
执行命令将默认registry切换为JFrog仓库,仅需配置一次:
npm config set registry https://<你的JFrog域名>/artifactory/api/npm/<仓库名称>/ # 登录认证 npm login --registry=https://<你的JFrog域名>/artifactory/api/npm/<仓库名称>/
项目级配置(仅当前项目生效)
在项目根目录创建.npmrc文件,写入:
registry=https://<你的JFrog域名>/artifactory/api/npm/<仓库名称>/ # 需权限验证时添加以下内容 //<你的JFrog域名>/artifactory/api/npm/<仓库名称>/:username=<你的JFrog账号> //<你的JFrog域名>/artifactory/api/npm/<仓库名称>/:_password=<Base64编码的密码>
之后直接执行npm install <你的包名>即可从JFrog仓库拉取包。
内容的提问来源于stack exchange,提问作者Lavanya Ashok
相关产品推荐
相关产品推荐

