如何在 NPM 中通过 package.json 使用 gitlab 存储库

2024-06-26

我正在开展一个内部项目,想在小组内分享一个工具。

但如果我使用 npm 工具。它要么请求模块已在 npm 网站或公共 git 存储库上注册。

我正在使用 gitlab。并且有一个私人令牌。 git+https://gitlab-ci-token:\<private token>@<domain>/<username>/<repo_name>.git 我试图把它像这样放在 package.json 中 但它不起作用。

有没有办法安装具有授权的私人 gitlab 存储库?

多谢。


如果我正确理解你的问题,你希望运行 npm 的 CI 管道能够从 gitlab 中提取私有项目作为依赖项。

在这种情况下,您可以使用 gitlab 中的部署密钥机制(请参阅here https://docs.gitlab.com/ce/ssh/README.html#deploy-keys).

首先生成SSH密钥对。您可以使用ssh-keygen -t rsa为了那个原因。

然后进入私有仓库的gitlab页面并找到Deploy tokens设置:设置 > 存储库。您应该将刚刚生成的公钥粘贴到此处。

然后转到其 CI 中运行 npm 的项目并找到Variables页。创建一个新的私有变量,名称为SSH_PRIVATE_KEY例如,并将您生成的私钥粘贴到此处。

最后,在你的.gitlab-ci.yml文件中添加以下内容,以便您的私钥可用于您的 CI 环境:

- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
# Run ssh-agent (inside the build environment)
- eval $(ssh-agent -s)
# Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

现在应该设置您的 CI 环境,以便可以提取您的私有存储库。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 NPM 中通过 package.json 使用 gitlab 存储库 的相关文章

随机推荐

  • 目录中每个文件的循环代码[重复]

    这个问题在这里已经有答案了 我有一个图片目录 我想循环遍历并对其进行一些文件计算 这可能只是睡眠不足 但我如何使用 PHP 来查找给定的目录 并使用某种 for 循环遍历每个文件 Thanks scandir http php net sc
  • 如何在每个项目的列表视图中实现简单的点赞按钮

    我的列表视图项目中有某些条目 我有一个简单的 喜欢按钮 不是像 Facebook 的按钮 您可以看到上面提到的屏幕截图 供参考 当我点击 喜欢 按钮的那一刻 我希望更改 喜欢 按钮的颜色 并且 喜欢 按钮的颜色应保持不变 改变了喜欢 当我再
  • 准确的JSON文本编码检测

    RFC4627 中描述了一种在 BOM 不存在时识别 Unicode 编码的方法 这依赖于 JSON 文本中的前 2 个字符始终是 ASCII 字符 但在RFC7159中 规范将JSON文本定义为 ws value ws 意味着单个字符串值
  • Python/Pandas –– ParserError:标记数据时出错。 C 错误:第 i 行中预期有 x 字段,但看到了 y

    我需要一些帮助 我正在使用以下代码 matplotlib inline import csv from datetime import datetime import numpy as np import pandas as pd from
  • 如何编写带有回调的简单react-native本机模块

    如何以最简单的方式完成这项工作 我无法将回调发送到react native 可能我错过了一些东西 ReactMethod public void testCallback Callback cb String sampleText Java
  • 根据id统计div元素

    我有一个类似的页面 div div div div div div div div div div div div 我想知道 id 与表达式 box content X text 其中 X 是数字 匹配的 div 的数量 我可以使用纯 ja
  • 良好的 WPF 或 silverlight windows 小工具示例

    有人有 WPF 或 silverlight windows 小工具的好例子吗 诺兰多02 您好 我在网上看到了一些侧边栏小工具演示和教程 我将在这里列出它们以供您审查 希望其中一些能引起您的注意 并为您的努力提供帮助 WPF http ww
  • 将颜色名称转换为十六进制代码的 Javascript 函数

    是否有一个内置函数可以将颜色按名称转换为其十六进制表示形式 就像我想传递 白色 并接收 FFFFFF 我真的想避免自己编写一百个 if 代码 不 但使用在这里列出 https www w3schools com colors colors
  • 如何在 Windows 路径中使用卷标?

    我想使用批处理文件从可移动驱动器复制文件 无论它获得的驱动器号是什么 到目前为止 还没有去 似乎没有任何现成的命令或第三方命令行工具可以处理基于卷标签的路径 我尝试了 FreeFileSync 但它可以大批量工作 并且我在这里需要精确的文件
  • 为什么 kafka 生产者在初始化时采用代理端点而不是 zk

    如果我有多个经纪人 我的制作人应该使用哪个经纪人 我需要手动切换broker来平衡负载吗 另外 为什么消费者只需要 Zookeeper 端点而不是 Broker 端点 教程中的快速示例 gt bin kafka console produc
  • 在不同的队列系列上重用相同的主机可见缓冲区

    考虑主机可见缓冲区 主要与流缓冲区相关 即由VK MEMORY PROPERTY DEVICE LOCAL BIT VK MEMORY PROPERTY HOST VISIBLE BIT内存 让我们想象一下以下使用模式 将新数据写入主机上的
  • Android 中 Facebook 和 Google+ 登录的 onActivityResult 代码

    Android 中登录的 Facebook API 代码很简单 方法如下活动结果 is protected void onActivityResult int requestCode int resultCode Intent data s
  • Redis 与 SQL Server 性能对比

    应用程序性能是使用缓存而不是关系数据库的主要原因之一 因为它以键值对的形式将数据存储在内存中 所以我们可以将经常访问的不经常更改的数据存储在缓存中 从缓存中读取比从数据库中读取要快得多 Redis 是分布式缓存市场上最好的解决方案之一 我正
  • 如何在flutter中使用API​​调用嵌套的json数据?

    我的 JSON 看起来像这样 Info c type id 1 cleaning type A Cleaning c type id 2 cleaning type B Cleaning c type id 3 cleaning type
  • 如何融化数据框以获取范围内的所有日期?

    我有一个这样的数据集 import pandas as pd pd DataFrame col1 1 2 start date 1 3 2019 1 10 2019 end date 1 5 2019 1 12 2019 我想为开始日期和结
  • ASP.NET MVC 2 - 请求编码问题

    Hello 有一个控制器和一个通过 GET 接收一个参数的操作 大致如下 www site com controller action query Problem 示例 1 www site com controller action qu
  • C++ 中输出流的右对齐

    我正在使用 C 工作 我得到一个 10 位数字的字符串 字符数组 其中可能有也可能没有 3 个破折号 使其最多 13 个字符 是否有一种内置的流方式可以正确地证明它 我将如何打印到右对齐的流 是否有内置函数 方法可以执行此操作 或者我是否需
  • 关于相同的应用程序,但不同的应用程序商店有不同的二进制文件

    我有一个新的应用程序要在不久的将来推出 该应用程序将针对不同地区的应用程序商店提供不同的版本 包括 UI 语言和部分应用程序内容 我的问题是我是否可以创建不同的应用程序 不同的捆绑包 ID 和不同的应用程序的 iTunes 应用程序名称 但
  • 如何理解javascript React中的这段代码

    我在网上找到了这个函数在js中的实现 这个函数递归地过滤一个对象数组 每个对象可能有属性 children 它是对象数组 并且对象也可能有孩子等等 该函数工作正常 但我有点不明白 这是我的功能 getFilteredArray array
  • 如何在 NPM 中通过 package.json 使用 gitlab 存储库

    我正在开展一个内部项目 想在小组内分享一个工具 但如果我使用 npm 工具 它要么请求模块已在 npm 网站或公共 git 存储库上注册 我正在使用 gitlab 并且有一个私人令牌 git https gitlab ci token