繁体   English   中英

如何从 Github

[英]How to install scoped private npm package from Artifactory in Github Actions

这个问题包括一个特定的用例:

  1. 我有一个私有范围的 package: @myscope/mypackage
  2. 它托管在 Artifactory NPM 注册表中: https://company.jfrog.io/artifactory/api/npm/my-npm-registry/
  3. 我需要使用我的凭据来使用它。
  4. 我想在 Github Actions 中使用它。

我怎样才能做到这一点?

.npmrc

首先,您需要在本地.npmrc文件中配置您的访问权限。 您可以将此文件放在源根文件夹中。

always-auth = true

# First, set a different registry URL for your scope
@myscope:registry=https://company.jfrog.io/artifactory/api/npm/my-npm-registry/
# Then, for this scope, you need to set the token
//company.jfrog.io/artifactory/api/npm/my-npm-registry/:_auth = {{your token - see below}}

令牌

您需要从 Artifactory 获取 NPM 令牌(注意它不是您的 API 密钥。

  1. 从您的 Artifactory 配置文件中获取您的Artifactory API 密钥https://company.jfrog.io/ui/admin/artifactory/user_profile
  2. Run the next command on your Linux terminal: curl -u {{ ARTIFACTORY_USERNAME }}:{{ ARTIFACTORY_API_KEY }} https://company.jfrog.io/artifactory/api/npm/auth/
    • Powershell:
       $base64AuthInfo = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes(("{0}:{1}" -f {{ ARTIFACTORY_USERNAME }},{{ ARTIFACTORY_API_KEY }}))) Invoke-RestMethod -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} https://company.jfrog.io/artifactory/api/npm/auth/
  3. 你应该收到这个:
     _auth = {{ YOUR_NPM_TOKEN }} always-auth = true
  4. 所以现在你可以把这个 Token 放到上面的.npmrc文件中。

Github 行动

如何在 Github 操作中执行所有这些操作?

  1. 首先,保存您的 Jfrog 用户名和 API Key in Github Secrets: JFROG_USER & JFROG_PAT
  2. 您可以在结帐之后yarn/npm install之前将下一步添加到您的工作流程中:
     - name: npm token run: | echo "@myscope:registry=https://company.jfrog.io/artifactory/api/npm/my-npm-registry/" >.npmrc echo "//company.jfrog.io/artifactory/api/npm/my-npm-registry/:$(curl -u ${{ secrets.JFROG_USER }}:${{ secrets.JFROG_PAT }} https://company.jfrog.io/artifactory/api/npm/auth/)" >>.npmrc

祝你好运!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM