ARTIFACTORY:在远程存储库中配置NPM Gitlab注册表

Shisiya塞巴斯蒂安
2023-01-29 09:23

在这里,我们将看到如何在Artifactory远程存储库中配置Gitlab私有NPM注册表。如果您还没有GitLab NPM注册表,请向下滚动查找准备GitLab NPM注册表的步骤。

创建一个Gitlab远程存储库

在JFrog Artifactory中镜像Gitlab私有存储库的步骤。
步骤1:从Gitlab创建一个Deploy令牌,并复制Username和Access令牌
步骤2:创建NPM远程存储库在Artifactory中使用Gitlab URL

1.转到Artifactory→Administration→Repositories→Add Repositories→Remote Repositories→NPM
2.使用< your_npm_rename >作为存储库密钥创建存储库
3.使用以下格式的Gitlab注册库URL更新URL字段

https://gitlab.com/api/v4/projects/ < project_ID > /包/ npm /

4.添加部署令牌用户名和访问令牌
5.创建远程存储库

下面是一个名为“npmlab”的远程npm存储库示例。

用户添加图片

注意:由于它是一个私有注册表,“测试”可能显示“目标远程URL返回错误404:未找到”,但是您可以忽略此错误消息并继续前进。

步骤3:从“Set Me Up”中复制NPM客户端配置片段并更新.npmrc

1.转到Artifactory→Application→Artifacts→your_npm_reponame→Set Me Up(右上角)
2.在相应的文本框中输入密码,并在使用基本身份验证下复制作用域包的代码片段
3.将替换为注册表中的范围

用户添加图片

4.将代码片段添加到~/。npmrc文件(如果是Windows, %USERPROFILE%.npmrc)

用户添加图片

步骤4:使用" npm Install @/package_name "安装npm包

用户添加图片
准备GitLab NPM注册表

在GitLab中创建一个项目:

GitLab >创建新项目>创建空白项目>选择项目部署目标为" Registry "

用户添加图片

有关详情,请参阅本网页文档

要发布一个NPM包,需要满足以下条件:

1.项目ID:点击您的项目,您可以找到您的项目ID

用户添加图片

2.范围:用于@scope的值是将承载包的项目的根,而不是包含包本身源代码的项目的根。范围应该是小写的。

3.部署令牌

创建一个部署令牌:

  • 进入您的项目>设置>存储库>部署令牌。
  • 输入Name、Username,并选择read_package_registry、write_package_registry作为scope
  • 创建部署令牌

用户添加图片
用户添加图片

创建一个示例npm包并将其发布到GitLab:

1.npm init
2.添加publishConfig和npm包的注册表位置。

示例Package.json:{
“名称”:“@testjf / helloworld”,
“版本”:“1.0.0”,
"description": "打印Hello World.",
“主要”:“index.js”,
"脚本":{
"test": "echo \"错误:没有指定的测试\" && exit 1"
},
“关键词”:[
“你好”
],
“作者”:“你的名字”,
“许可证”:“ISC”,
" publishConfig ": {
“@testjf:注册表”:“https://gitlab.com/api/v4/projects/ < project_ID > /包/ npm /”

3.在与package.json相同的目录下创建或编辑.npmrc文件。在.npmrc文件中包含以下几行:

为你的包设置URL。
@jftest:注册表= https://gitlab.com/api/v4/projects/ < project_ID > /包/ npm

#添加令牌上传到注册表。替换< my-project-id >
/ / gitlab.com/api/v4/projects/ < project_ID > /包/ npm /: _authToken = " $ {NPM_TOKEN} "

永远不要直接在.npmrc文件或任何其他可以提交到存储库的文件中硬编码GitLab令牌(或任何令牌)。

4.示例index.js文件

helloWorld() {
console.log('Hello World from this npm package');

模块。exports = helloWorld;

5.将包发布到Gitlab

NPM_TOKEN= npm发布
用户添加图片

裁判:https://docs.gitlab.com/ee/user/packages/npm_registry/