Ẩn token python

Xác thực là một trong những phần quan trọng nhất của bất kỳ ứng dụng web nào. Trong nhiều thập kỷ, cookie và xác thực dựa trên máy chủ là giải pháp đơn giản nhất. Tuy nhiên, việc xử lý xác thực trong Ứng dụng một trang và thiết bị di động hiện đại có thể phức tạp và đòi hỏi một cách tiếp cận tốt hơn. Một trong những giải pháp nổi tiếng nhất cho vấn đề xác thực cho API là Mã thông báo web JSON (JWT)

Show

Chia sẻ

Chia sẻ

Ẩn token python

Xác thực là một trong những phần quan trọng nhất của bất kỳ ứng dụng web nào. Trong nhiều thập kỷ, cookie và xác thực dựa trên máy chủ là giải pháp đơn giản nhất. Tuy nhiên, việc xử lý xác thực trong Ứng dụng một trang và thiết bị di động hiện đại có thể phức tạp và đòi hỏi một cách tiếp cận tốt hơn. Một trong những giải pháp nổi tiếng nhất cho vấn đề xác thực cho API là Mã thông báo web JSON (JWT)

Ẩn token python

Bởi Tino Tkalec

Chuyên gia đã được xác minh  về Kỹ thuật

Tino là một kỹ sư phần mềm với hơn 10 năm kinh nghiệm trong việc tạo các Ứng dụng web và Windows gốc. Anh ấy là một chuyên gia ngăn xếp LAMP

Để biết tài liệu về các điểm cuối API cụ thể mà ứng dụng quản lý gói npm sử dụng, hãy xem tài liệu API npm

Tìm hiểu cách xây dựng một hoặc gói

Xem video demo về cách xuất bản các gói npm lên Cơ quan đăng ký gói GitLab

Xuất bản lên Sổ đăng ký gói GitLab

Xác thực với Sổ đăng ký gói

Bạn cần một mã thông báo để xuất bản một gói. Có nhiều mã thông báo khác nhau tùy thuộc vào những gì bạn đang cố gắng đạt được. Để biết thêm thông tin, hãy xem lại

  • Nếu tổ chức của bạn sử dụng xác thực hai yếu tố (2FA), thì bạn phải sử dụng mã thông báo truy cập cá nhân với phạm vi được đặt thành
    NPM_TOKEN=your_token npm publish
    
    7
  • Nếu bạn đang xuất bản một gói thông qua đường dẫn CI/CD, bạn phải sử dụng mã thông báo công việc CI

Tạo một mã thông báo và lưu nó để sử dụng sau này trong quy trình

Quy ước đặt tên

Tùy thuộc vào cách gói được cài đặt, bạn có thể cần tuân thủ quy ước đặt tên

Bạn có thể sử dụng một trong hai điểm cuối API để cài đặt các gói

  • cấp sơ thẩm. Sử dụng khi bạn có nhiều gói npm trong các nhóm GitLab khác nhau hoặc trong không gian tên riêng của chúng
  • cấp dự án. Sử dụng khi bạn có ít gói npm và chúng không cùng nhóm GitLab

Nếu bạn dự định cài đặt một gói thông qua , thì bạn không cần phải tuân theo quy ước đặt tên

Nếu bạn định cài đặt một gói thông qua , thì bạn phải đặt tên cho gói của mình bằng một phạm vi. Các gói có phạm vi bắt đầu bằng

NPM_TOKEN=your_token npm publish
8 có định dạng là
NPM_TOKEN=your_token npm publish
9. Bạn có thể thiết lập phạm vi cho gói hàng của mình trong tệp
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 và bằng cách sử dụng tùy chọn
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
1 trong tệp
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2

  • Giá trị được sử dụng cho
    @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
    
    3 là thư mục gốc của dự án đang lưu trữ các gói chứ không phải thư mục gốc của dự án có mã nguồn của chính gói đó. Phạm vi phải là chữ thường
  • Tên gói có thể là bất cứ thứ gì bạn muốn
Project URLPackage Registry inScopeFull package name
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
4Analytics
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
5
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
6

Đảm bảo rằng tên gói hàng của bạn trong tệp

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 phù hợp với quy ước này

"name": "@my-org/package-name"

Xuất bản một gói thông qua dòng lệnh

Xác thực qua @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}" 7

Tạo hoặc chỉnh sửa tệp

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 trong cùng thư mục với tệp
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn. Bao gồm các dòng sau trong tệp
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"

  • Thay thế
    @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
    
    3 bằng dự án mà bạn đang xuất bản lên gói để
  • Thay thế
    image: node:latest
    
    stages:
      - deploy
    
    deploy:
      stage: deploy
      script:
        - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
        - npm publish
    
    3 bằng tên miền của bạn, ví dụ:
    image: node:latest
    
    stages:
      - deploy
    
    deploy:
      stage: deploy
      script:
        - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
        - npm publish
    
    4
  • Thay thế
    image: node:latest
    
    stages:
      - deploy
    
    deploy:
      stage: deploy
      script:
        - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
        - npm publish
    
    5 là ID dự án của bạn, được tìm thấy trên trang chủ của dự án
  • image: node:latest
    
    stages:
      - deploy
    
    deploy:
      stage: deploy
      script:
        - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
        - npm publish
    
    6 được liên kết với mã thông báo bạn đã tạo sau này trong quy trình

thận trọng

Không bao giờ mã hóa cứng mã thông báo GitLab (hoặc bất kỳ mã thông báo nào) trực tiếp trong tệp

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 hoặc bất kỳ tệp nào khác có thể được cam kết vào kho lưu trữ

Xuất bản một gói thông qua dòng lệnh

Liên kết của bạn với

image: node:latest

stages:
  - deploy

deploy:
  stage: deploy
  script:
    - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
    - npm publish
6 trong
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7. Thay thế
npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhân

NPM_TOKEN=your_token npm publish

Bây giờ gói của bạn sẽ xuất bản lên Sổ đăng ký gói

Xuất bản gói qua đường dẫn CI/CD

Xác thực qua @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}" 7

Tạo hoặc chỉnh sửa tệp

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 trong cùng thư mục với tệp
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn trong dự án GitLab. Bao gồm các dòng sau trong tệp
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}

  • Thay thế
    @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
    
    3 bằng dự án mà bạn đang xuất bản lên gói để
  • npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
    
    6 và
    npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
    
    7 là các biến được xác định trước có sẵn trong quy trình bán hàng và không cần phải thay thế

Xuất bản gói qua đường dẫn CI/CD

Trong dự án GitLab chứa

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 và
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn, hãy chỉnh sửa hoặc tạo tệp
npm config set @scope:registry https://your_domain_name.com/api/v4/packages/npm/
0. Ví dụ

image: node:latest

stages:
  - deploy

deploy:
  stage: deploy
  script:
    - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
    - npm publish

Bây giờ, gói của bạn sẽ xuất bản lên Sổ đăng ký gói khi đường ống chạy

Cài đặt một gói

Nếu nhiều gói có cùng tên và phiên bản, khi bạn cài đặt một gói, gói được xuất bản gần đây nhất sẽ được truy xuất

Bạn có thể cài đặt một gói từ một dự án hoặc phiên bản GitLab

  • cấp sơ thẩm. Sử dụng khi bạn có nhiều gói npm trong các nhóm GitLab khác nhau hoặc trong không gian tên riêng của chúng
  • cấp dự án. Sử dụng khi bạn có ít gói npm và chúng không cùng nhóm GitLab

Cài đặt từ cấp phiên bản

thận trọng

Để cài đặt một gói từ cấp phiên bản, gói đó phải được phát hành theo phạm vi

  1. Xác thực với Sổ đăng ký gói

    Nếu bạn muốn cài đặt một gói từ một dự án riêng, bạn sẽ phải xác thực với Sổ đăng ký gói. Bỏ qua bước này nếu dự án không phải là riêng tư

    npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
    

    • Thay thế
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      3 bằng tên miền của bạn, ví dụ:
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      4
    • Thay thế
      npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
      
      0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhân
  2. Đặt sổ đăng ký

    npm config set @scope:registry https://your_domain_name.com/api/v4/packages/npm/
    

    • Thay thế
      @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
      //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
      
      3 bằng dự án bạn đang cài đặt vào gói từ
    • Thay thế
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      3 bằng tên miền của bạn, ví dụ
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      4
    • Thay thế
      npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
      
      0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhân
  3. Cài đặt gói

    npm install @scope/my-package
    

Cài đặt từ cấp độ dự án

  1. Xác thực với Sổ đăng ký gói

    Nếu bạn muốn cài đặt một gói từ một dự án riêng, bạn sẽ phải xác thực với Sổ đăng ký gói. Bỏ qua bước này nếu dự án không phải là riêng tư

    npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
    

    • Thay thế
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      3 bằng tên miền của bạn, ví dụ:
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      4
    • Thay thế
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      5 là ID dự án của bạn, được tìm thấy trên trang chủ của dự án
    • Thay thế
      npm config set -- //your_domain_name/api/v4/packages/npm/:_authToken=your_token
      
      0 bằng mã thông báo triển khai, mã thông báo truy cập nhóm, mã thông báo truy cập dự án hoặc mã thông báo truy cập cá nhân
  2. Đặt sổ đăng ký

    npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    

    • Thay thế
      @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
      //your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
      
      3 bằng dự án bạn đang cài đặt vào gói từ
    • Thay thế
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      3 bằng tên miền của bạn, ví dụ:
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      4
    • Thay thế
      image: node:latest
      
      stages:
        - deploy
      
      deploy:
        stage: deploy
        script:
          - echo "//${CI_SERVER_HOST}/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}">.npmrc
          - npm publish
      
      5 là ID dự án của bạn, được tìm thấy trên trang chủ của dự án
  3. Cài đặt gói

    npm install @scope/my-package
    

Những lời khuyên có ích

Chuyển tiếp gói tới npmjs. com

Khi không tìm thấy gói npm trong Sổ đăng ký gói, yêu cầu sẽ được chuyển tiếp tới npmjs. com

Quản trị viên có thể tắt hành vi này trong cài đặt Tích hợp liên tục

Chủ sở hữu nhóm có thể tắt hành vi này trong cài đặt Gói và đăng ký nhóm

Cài đặt các gói npm từ các tổ chức khác

Bạn có thể định tuyến các yêu cầu gói tới các tổ chức và người dùng bên ngoài GitLab

Để thực hiện việc này, hãy thêm các dòng vào tệp

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 của bạn. Thay thế
npm install @scope/my-package
7 bằng không gian tên hoặc nhóm sở hữu kho lưu trữ dự án của bạn và sử dụng URL của tổ chức bạn. Tên phân biệt chữ hoa chữ thường và phải khớp chính xác với tên nhóm hoặc không gian tên của bạn

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
1

siêu dữ liệu npm

Sổ đăng ký gói GitLab hiển thị các thuộc tính sau cho ứng dụng khách npm. Những điều này tương tự như

  • npm install @scope/my-package
    
    8
  • npm install @scope/my-package
    
    9
    • npm install @scope/my-package
      
      8
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      1
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      2
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      3
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      4
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      5
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      6
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      7
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      8
    • npm config set -- //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken=your_token
      
      9
    • npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
      
      0
    • npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
      
      1

Thêm thẻ phân phối npm

Bạn có thể thêm thẻ phân phối vào các gói mới xuất bản. Thẻ là tùy chọn và chỉ có thể được gán cho một gói tại một thời điểm

Khi bạn xuất bản một gói không có thẻ, thẻ

npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
2 sẽ được thêm theo mặc định. Khi bạn cài đặt gói mà không chỉ định thẻ hoặc phiên bản, thẻ
npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
2 sẽ được sử dụng

Ví dụ về các lệnh

npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
4 được hỗ trợ

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
2

Bạn không thể sử dụng

npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
5 hoặc triển khai mã thông báo bằng các lệnh
npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
6. Xem vấn đề này để biết chi tiết

Do một lỗi trong npm 6. 9. 0, xóa thẻ phân phối không thành công. Đảm bảo phiên bản npm của bạn là 6. 9. 1 hoặc muộn hơn

Các lệnh CLI được hỗ trợ

Kho lưu trữ GitLab npm hỗ trợ các lệnh sau cho npm CLI (

npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
7) và sợi CLI (
npm config set @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
8)

  • NPM_TOKEN=your_token npm publish
    
    1. Cài đặt các gói npm
  • @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
    
    9. Xuất bản gói npm lên sổ đăng ký
  • @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
    
    01. Thêm thẻ dist vào gói npm
  • @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
    
    02. Liệt kê các thẻ dist cho một gói
  • @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
    
    03. Xóa thẻ dist
  • @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
    
    04. Cài đặt các gói npm trực tiếp từ tệp
    @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
    
    05 của bạn
  • @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
    //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
    
    06. Hiển thị siêu dữ liệu gói

Xử lý sự cố

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}" 9 mục tiêu đăng ký npm mặc định (NPM_TOKEN=your_token npm publish 0)

Đảm bảo rằng phạm vi gói của bạn được đặt nhất quán trong các tệp

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 và
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 của bạn

Ví dụ: nếu tên dự án của bạn trong GitLab là

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
11, thì tệp
@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/${CI_PROJECT_ID}/packages/npm/:_authToken=${CI_JOB_TOKEN}
2 của bạn sẽ giống như

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
3

Và tệp

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
7 sẽ giống như

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
//your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"

NPM_TOKEN=your_token npm publish 1 trả lại NPM_TOKEN=your_token npm publish 2

Nếu bạn gặp lỗi này, hãy đảm bảo rằng

  • Sổ đăng ký gói được bật trong cài đặt dự án của bạn. Mặc dù Sổ đăng ký gói được bật theo mặc định, nhưng có thể
  • Mã thông báo của bạn chưa hết hạn và có quyền thích hợp
  • Một gói có cùng tên hoặc phiên bản không tồn tại trong phạm vi đã cho
  • URL gói có phạm vi bao gồm dấu gạch chéo ở cuối
    • Chính xác.
      @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
      //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
      
      16
    • Không đúng.
      @scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/
      //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}"
      
      17

@scope:registry=https://your_domain_name/api/v4/projects/your_project_id/packages/npm/ //your_domain_name/api/v4/projects/your_project_id/packages/npm/:_authToken="${NPM_TOKEN}" 9 trả lại NPM_TOKEN=your_token npm publish 4

Nếu bạn gặp lỗi này, một trong những vấn đề sau có thể gây ra lỗi này

Tên gói không đáp ứng quy ước đặt tên

Tên gói của bạn có thể không đáp ứng

Đảm bảo tên đáp ứng chính xác quy ước, bao gồm cả trường hợp. Sau đó thử xuất bản lại

Gói đã tồn tại

Gói của bạn đã được xuất bản cho một dự án khác trong cùng một không gian tên gốc và do đó không thể xuất bản lại bằng cùng tên