Agu*_*ara 5 npm gitlab gitlab-ci npm-install
我正在尝试在私人项目中使用存储在Gitlab npm 注册表中的 npm 包。
为了发布我的包,我使用了:
我的 .gitlab-ci.yml:
image: node:12
stages:
- deploy
deploy:
stage: deploy
script:
npm config set @{{my-org-name}}:registry https://gitlab.com/api/v4/projects/{{project-id}}/packages/npm/
npm config set "//gitlab.com/api/v4/projects/{{project-id}}/packages/npm/:_authToken" '{{my-auth-token}}'
npm publish
Run Code Online (Sandbox Code Playgroud)
然后在package.json处发布配置:
"publishConfig": {
"access": "public",
"@{{my-org-name}}:{{my-package-name}}": "https://gitlab.com/api/v4/projects/{{project-id}}/packages/npm/"
}
Run Code Online (Sandbox Code Playgroud)
此步骤正确创建了包,但是当尝试使用npm i @{{my-org-name}}/{{my-package-name}}I 步骤安装时401 Unauthorized error。
我假设我在某处缺少身份验证配置,但无法弄清楚是哪个或在哪里!
我正在一个私有模块中工作,我能够安装该包的唯一方法是在项目的根目录中设置 .npmrc ,我想在其中安装具有如下内容的模块:
# Set URL for scoped packages.
@{scope}:registry=https://gitlab.yourdomain.com/api/v4/packages/npm/
# Create an environment variable for your GitLab auth token
'//gitlab.yourdomain.com/api/v4/packages/npm/:_authToken'="${GITLAB_AUTH_TOKEN}"
'//gitlab.yourdomain.com/api/v4/projects/{PROJECT_ID}/packages/npm/:_authToken'="${GITLAB_AUTH_TOKEN}"
Run Code Online (Sandbox Code Playgroud)
GITLAB_AUTH_TOKEN 是我必须在 GitLab 上的“配置文件和访问令牌”下创建的个人令牌。我把它放在环境变量中。
但是,我想找到一种无需创建个人令牌即可对用户进行身份验证的方法;我希望公司中的人们能够以另一种方式安装该模块,也许使用他们的 GitLab 凭据,但我还没有看到类似的东西......
| 归档时间: |
|
| 查看次数: |
6328 次 |
| 最近记录: |