簡體   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